为什么这样执行下来结果是6,到底是哪里错了,希望给位可以指点一下。
因为程序代码有问题,
1.输入成绩那里有错误。
2.count没有给初始值0
代码修改如下图所示:
#include <stdio.h>
int main(void)
{
int n,count=0,i;
char a[40];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]<60)
count+=1;
}
printf("count=%d\n",count);
return 0;
}
你的数组的类型定义错了,应该是int型的数组
int main()
{
int n = 0, count = 0;//进行初始化
int a[40] = { 0 };//最好对数组进行初始化
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);//从键盘上获得成绩并放入数组中
}
for (int i = 0; i < n; i++)
{
if (a[i] < 60)
{
count++;
}
}
printf("%d", count);
return 0;
}
int main()
{
int n = 0;
int count = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int a = 0;//创建变量a用来接收成绩,每次进循环都会对a的值进行更新
scanf("%d", &a);
if (a < 60)
{
count++;
}
}
printf("%d", count);
return 0;
}
这个结果和上面一样
不知道你这个问题是否已经解决, 如果还没有解决的话:抱歉,您并未提供具体的程序代码或运算表达式,因此我无法判断运算结果为6的原因。请提供更具体的信息以便我为您解答。