C语言的一个简单的?

来源:百度知道 编辑:UC知道 时间:2024/05/29 21:52:02
#include <stdio.h>
void main()
{int a,n,x;
int sum=0,ave=0;

printf("请输入这个班的人数:\n");
scanf("%d",x);
{
for(n=1;n<=x;n++)
printf("请输入第n号同学的成绩:\n");
scanf("%d",a);
sum+=a;
}
ave=sum/x;
printf("这个班的平均成绩是:%d\n",ave);
}

这个简单的程序怎么无解啊?
请朋友们指点指点!

两个问题:1,scanf语句后面应该有&符
2,for(n=1;n<=x;n++)
printf("请输入第n号同学的成绩:\n");
scanf("%d",a);
sum+=a; 的循环体范围你搞错了
你的意思是循环n次scanf n次,但是事实上printf了n次,scanf只做了一次,你可明白???应该改为
for(n=1;n<=x;n++)
{
printf("请输入第%d号同学的成绩:\n",n);
scanf("%d",a);
sum+=a;
}

没细看,但是发现你在
输入的时候少了“取地址符”——‘&’。
还有平均值用整型量不大好。