永发信息网

c语言 从键盘输入6名学生的5门成绩,依次分别统计出每个学生的平均成绩并打印之。

答案:3  悬赏:70  手机版
解决时间 2021-04-24 16:02

#include<stdio.h>
main()
{ char name[6];
float marks[6][5],a[6];
int i,j,sum=0;
for(i=0;i<6;i++)
{ printf("No:",name[i]);
scanf("%s\n",&name[i]);
for(j=0;j<5;j++)
{ scanf("%f",&marks[i][j]);
sum=sum+marks[i][j];
}
printf("\n");
a[i]=(sum/5);
printf("%.2f\n",a[i]);
}

getch();
}

哪里出错了 怎么会输出有问题 求不出答案

最佳答案

#include<stdio.h>


#include<conio.h>
main()
{ char name[6];
float marks[6][5],a[6],sum=0.0;
int i,j,;
for(i=0;i<6;i++)
{ printf("No:" ); //这行应该只是提示No:然后让拥护输入吧,那name[i]就没用....
scanf("% c \n",&name[i]); //这name[i] 的状态只是char 类型的字符,不是字符串.要把%s 改成%c
for(j=0;j<5;j++)
{ scanf("%f",&marks[i][j]);
sum=sum+marks[i][j]; // 把marks数组和整型的sum 相加会导致数据的误差.可以把sum改成float
}
printf("\n");
a[i]=(sum/5);
printf("%.2f\n",a[i]);
}


getch(); //此函数是包含在头文件#include<conio.h>里面的.
}

全部回答

在输入每个学生数据前,应该将sum重置为0 ,否则就会累加上一个学生的成绩。

for(i=0;i<6;i++) { sum = 0; printf("No:",name[i]);

.......

sum=sum+marks[i][j];

sum 是整型

marks 是float ,转换错误!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我CF老进不去?
初三政治难么 怎样才能学好 哪些是重点 请大
DNF鬼剑士要学什么技能?
江西高安有叫谢杰刚的吗
谁能帮我找首歌
我喜欢玩QQ农场怎么办?又不睡觉
打人造成轻伤会判刑吗、?
急求从1994年往后所有吸血鬼题材的影视作品!
玩了这么久还不知道CF怎么加战对,悲哀啊!有
为什么我用一麻袋的钱去上学,换来一麻袋的书,
为什么我之前玩CF什么事都没,现在玩老是和主
边个可以帮我改密码?
2010年山西专科分数线多少?
生命因阅读而精彩 读后感
福客临牛肉拉面馆这个地址在什么地方,我要处
推荐资讯
3D 279期 字谜圆又圆,几个圆,弯又弯没左边
人要活的现实一点理性一点就会快乐吗?
为什么我空间的农场、抢车位进不去?
我宽带字节发送少收到多怎么回事?
浏览器打开老出错?
为什么不显示我在听的QQ音乐
有一种水果红色的一小串上一小粒一小粒的叫什
当今NBA谁薪水最高???不是科狗吧!!!
成功的秘诀,在于把自己的脚放入他人的鞋子里
怎么弄网页链接,https的ie浏览器网页证书过期
水浒Q传40-149级,分别能带多少钱在身上?请教
最近因为和陌生的主管经理说话有点语塞,怎么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?