ddfadacai @ 2022-11-02 21:40:58
#include<stdio.h>
int main()
{
int a[11];
int i,k,b;
for(i=0;i<=8;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&a[9]);
scanf("%d",&b);
for(i=0;i<=9;i++)
{
if(a[i]<=(b+30))
{
k++;
}
}
printf("%d",k-1);
return 0;
}
by ddfadacai @ 2022-11-02 21:42:05
救救孩子,磨一天了,全是WA呜呜呜 可是我编译出来 感觉没毛病啊
by CH_mengxiang @ 2022-11-02 21:42:53
为啥k要-1
by CH_mengxiang @ 2022-11-02 21:43:27
@ddfadacai 还有你k要初始化0
by CH_mengxiang @ 2022-11-02 21:44:48
实测A了
by ddfadacai @ 2022-11-02 22:05:15
@CH_mengxiang 感谢大佬!!!可是k 如果不初始化不也是零吗?k-1是因为上机的时候,算了一下,用devc++的时候,k-1能出现正确的结果。。其实我也不知道为什么要-1
by VitrelosTia @ 2022-11-03 08:44:12
@ddfadacai 我觉得你需要重修变量定义,另外你为什么要先读8个再读1个……
by CH_mengxiang @ 2022-11-03 17:35:54
@ddfadacai 全局变量和局部变量的定义是有区别的
在全局定义的变量(可以理解为在main外面)自动初始化为0,在局部定义的变量(main或者其他函数等的里面)不人工初始化的话会变成一个随机的数(通常很大),你k-1对了纯属巧合
by ddfadacai @ 2022-11-03 17:38:56
@CH_mengxiang 哦哦,感谢大佬!我看明白了!
by ddfadacai @ 2022-11-03 17:40:03
@VT_SODC3DC3BSLF 我看那个题目要求一个换行,我就把最后一个单拎出来换行了。。。
by CH_mengxiang @ 2022-11-03 18:15:50
@ddfadacai 这是无所谓的。。。