回复 5楼 rjsp
这是改正后的题目,正确答案在下面
程序的功能是输入多名学生的姓名及其四科成绩,输出每一名学生的平均成绩。调试运行以下程序,改正其中的错误。
#include
struct stud
{
char name[30];
float score[4];
float total;
float average;
}
int main(void)
{
struct stud st[5];
int i,j;
for(i=0;i<5;i++)
{
scanf("%s",st[i].name);
for(j=0;j<4;j++)
scanf("%f",st[i].score[j]);
}
for(i=0;i<5;i++)
{
st[i].total=0;
for(j=0;j<4;j++)
st[i].total+=st[i].score[j];
st[i].average=st[i].total/4;
printf("%.1f\n",st[i].average);
}
return 0;
}
要求:
输入五名学生的姓名及四科成绩,数据之间以空格或回车间隔,分行输出五个平均值,保留一位小数(四舍五入)。
Input
按照题目描述输入。
Output
按照题目描述输出。
Sample Input
aaa 90 80 70 60
bbb 80 70 60 50
ccc 89 77 55 88
ddd 98 87 75 83
eee 99 88 77 66
Sample Output
75.0
65.0
77.3
85.8
82.5
include <stdio.h>
struct stud
{ char name[30];
float score[4];
float total;
float average;
};
int main(void)
{ struct stud st[5];
int i,j;
for(i=0; i<5; i++)
{ scanf("%s",&st[i].name);
for(j=0; j<4; j++)
{
scanf("%f",&st[i].score[j]);
}
}
for(i=0; i<5; i++)
{
st[i].total=0;
for(j=0; j<4; j++)
st[i].total+=st[i].score[j];
st[i].average=st[i].total/4;
printf("%.1f\n",st[i].average+0.04);
}
return 0;
}