题目
请问我的代码哪里错了,谢谢回答!
#include <stdio.h>
int main(){
int cj,ave,n,total=0;
for(n=1;cj>=0;n++){
printf("第%d名学生成绩:",n);
scanf("%d",&cj);
if(cj>=0)total=total+cj;
}
ave=total/(n-1);
printf("平均分=%d",ave);}
题目
#include <stdio.h>
int main(){
int cj,ave,n,total=0;
for(n=1;cj>=0;n++){
printf("第%d名学生成绩:",n);
scanf("%d",&cj);
if(cj>=0)total=total+cj;
}
ave=total/(n-1);
printf("平均分=%d",ave);}
ave=total/(n-2); 这里应该是-2 因为 n=5的时候 输入了-1作为结束 有效数据只有4个 然后会执行到for循环的n++, n变成了6 比实际数据多了两个 因为平均值 可能会是小数 所以应该用float类型 把int类型修改为float类型 %d修改为%f