顺丰特惠:C语言问题 看代码! 请高手赐教

来源:百度文库 编辑:高考问答 时间:2024/04/29 07:45:47
#include<stdio.h>
void main()
{
int k,i,a,he,ke=0;
char j;
j='Y';
do
{
printf("请输入班级号:");
scanf("%d",&k);
printf("请输入学生总数:");
scanf("%d",&a);

for(i=0;i<a;i++)
{
printf("输入学生%d号的成绩:",i+1);
scanf("%d\n",&he);
ke=ke+he;
}
printf("%d\n",ke);

printf("是否继续(y/N)");
j=getchar();

}while(j=='y'||j=='Y');

}
一切都很正常 就是到了 输入1号学生成绩时候要 输入两次 不知道什么原因!
printf输入成绩是从1号开始的 i+1

scanf("%d\n",&he); 改成scanf("%d",&he);

算总分的?

好像没问题啊

你输入的数据里面有0号的学生吗?
如果没用为什么你的for语句里面是以i=0开始的呢?
我建议你试试用i从1开始,到a结束,会不会好用呢?

有问题,do...while语句的最后,要把ke还原,令ke=0,否则算出来的是所有学生的成绩,不是一个班的学生总分

将i=0改为i=1看看!!