编写程序,从键盘输入6 名学生的5 门成绩,分别统计出每个学生的平均成绩。

#include <stdio.h>
main()
{
int i,j,a[6][5],b;
b=0;
for(i=0;i<6;i++)
{
for(j=0;j<5;j++)
{
printf("请输入第%d个学生的5门成绩:",i+1);
scanf("%d",&a[i][j]);//数组a用于存放成绩
b=b+a[i][j];
}
a[i][5]=b/5;
}
printf("平均成绩\n");
}

这个程序怎么改才正确呢?

#include <stdio.h>
main()
{
int i,j;
float a[6][5],b,str[6];//成绩和平均成绩最好改成整形

for(i=0;i<6;i++)
{
b=0;//放在这里,能每次循环时都置0
printf("请输入第%d个学生的5门成绩:",i+1);
for(j=0;j<5;j++)
{

scanf("%f",&a[i][j]);//数组a用于存放成绩
b=b+a[i][j];
}
str[i]=b/5;//存放平均成绩
}
printf("6个学生的平均成绩为:\n");
for(i=0;i<6;i++)//输出平均成绩
printf("%5.2f ",str[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2021-01-28
#include <stdio.h>
main()
{
int i,j,a[6][5];
float b;
for(i=0;i<6;i++)
{b=0;
for(j=0;j<5;j++)
{
printf("请输入第%d个学生的第%d门成绩:",i+1,j+1);
scanf("%d",&a[i][j]);//数组第a用于存放成绩
b=b+a[i][j];
}
b=b/5;
printf("第%d个学生的平均成绩:%.2f\n",i+1,b);
}
return 0;
}

我帮你改了一下每输入完一个学生的成绩就输出一个成绩来。不知道和你的想法是不是一样.追问

你能解释一下这个 %.2f\n",i+1,b 的含义吗?我是初学者,越详细越好哦

本回答被提问者采纳
第2个回答  2011-04-11
#include <stdio.h>
main()
{
int i,j,a[6][5],b;
b=0;
for(i=0;i<6;i++)
{
for(j=0;j<5;j++)
{
printf("请输入第%d个学生的5门成绩:",i+1);
scanf("%d",&a[i][j]);//数组a用于存放成绩
b=b+a[i][j];
}
a[i][5]=b/5;
printf("第%d平均成绩:%d\n",i+1,a[i][5]);//这句必须放到J循环里
而且你输出的时候在
printf语句中要指定格式 ,
这是低级错误
}
}
相似回答