为什么三个科目的平均分都是 0

vir__al 2020-04-23 02:20:33
void class_aver(struct Student stu[]) { int i,j; int sub[3]={0}; printf("\n班级平均分:\n"); for(j=0;j<3;j++) { for(i=0;i<6;i++) sub[j]+=stu[i].score[j]; sub[j]=sub[j]/6.0; printf("科目%d的班级平均分为:%6.2f\n",j+1,sub[j]); } }
...全文
252 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vir__al 2020-04-24
  • 打赏
  • 举报
回复
引用 4 楼 weixin_45698079的回复:
sub[j]+=stu[i].score[j];
这句错了,你是求三个班级的六个数(科目)的sum,不是每个科目的三个班级总分,建议把stu[i].score[j]的I和j对调
不好意思 没有看懂“每个科目的三个班级总分” 一个班级 六个学生 每个学生对应三个科目的分数
weixin_45698079 2020-04-23
  • 打赏
  • 举报
回复
sub[j]+=stu[i].score[j];
这句错了,你是求三个班级的六个数(科目)的sum,不是每个科目的三个班级总分,建议把stu[i].score[j]的I和j对调
vir__al 2020-04-23
  • 打赏
  • 举报
回复
引用 1 楼 自信男孩的回复:
注意sub是int类型,不是float类型,建议把sub改成float类型。
找了好久谢谢!
vir__al 2020-04-23
  • 打赏
  • 举报
回复
引用 1 楼 自信男孩的回复:
注意sub是int类型,不是float类型,建议把sub改成float类型。
找了好久谢谢!
自信男孩 2020-04-23
  • 打赏
  • 举报
回复
注意sub是int类型,不是float类型,建议把sub改成float类型。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧