回 帖 发 新 帖 刷新版面

主题:一道程序小题

题目:有4名学生,分别求出每一名5课程成绩的平均数使多少???
#include<stdio.h>
void main()
{int i,j,a[5],sum=0,n=0,m=0;
double ave[5]={0,0};
for(i=0;i<4;i++)
{printf("请输入第%d个人的5科成绩",m++);
  for(j=0;j<5;j++)
  {scanf("%d",&a[j]);
  sum=sum+a[j];}
  ave[n++]=sum/5.0;
  printf("\n");
}
printf("第%d个人的平均成绩是:%lf",m,ave[n]);
希望!朋友帮忙解决一下····
 我写的程序有点毛病····

其实,我想要的结果是这样的
  第一次输入
  第一个人的5科成绩:10 30 35 65 35 58
  第一个人的平均成绩是:··
  第二次输入
  第二个人的5科成绩:52 62 66 56 65 64
  第二个人的平均成绩是:··
  第三次输入
  第三个人的5科成绩:55 66 45 55 66 88
  第三个人的平均成绩是:··
  第四次输入
  第四个人的5科成绩是:56 88 66 99 88
  第四个人的平均成绩是:··
声明:我的那个void main() 改int main() 运行的结果是一样的!!! 
 但是,我看见在别的帖子里void main() 是国产错误,为什么在各个计算机等级考试习题上都有呢??? 不理解!!!
  那位高手进来了,帮忙解决一下啊!!! 呵呵 
[em1][em2][em1][em1][em2][em2][em2][em2][em2][em2][em2][em2][em2][em1][em1][em1][em1]

回复列表 (共4个回复)

沙发

sum在循环的过程中没有清零;

不是说求5课的平均成绩么,怎么除4.0

板凳

楼上的朋友,那该怎么办啊??? 请求帮助!!!

3 楼

在内层for循环前加个sum=0;

4 楼

j循环之前要做sum=0
void main是国产错误,所以国产考试都在抄袭这个错误,这就是所谓的以讹传讹

我来回复

您尚未登录,请登录后再回复。点此登录或注册