c语言,一小组有5人,每人3科成绩。求小组各科平均成绩和全组总科目的平均成绩。保留一位小数,求全代码

如题所述

#include<stdio.h>//这是用结构体做的
struct Student
{
float score[3];
}stu[5];
main()
{
float average[3]={0,0,0},aver=0;
int i,j;
printf("输入学生成绩:");
for(i=0;i<5;i++)
{
scanf("%f%f%f",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
aver+=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2]);//求总科目平均分
}
aver/=3;
for(i=0;i<3;i++)//求每科平均分
{
for(j=0;j<5;j++)
average[i]+=stu[j].score[i];
average[i]/=5;
}
printf("每科平均分为:");
for(i=0;i<3;i++)
printf("%5.1f",average[i]);
printf("\n");
printf("总科目平均分:");
printf("%5.1f\n",aver);
}

#include<stdio.h>//这是用二维数组做的
main()
{
float average[3]={0,0,0},aver=0;
int i,j;
float stu[5][3];
printf("输入学生成绩:");
for(i=0;i<5;i++)
for(j=0;j<3;j++)
{
scanf("%f",&stu[i][j]);
aver+=stu[i][j];
}
aver/=3;//求总科目的平均分
for(i=0;i<3;i++)//求每科平均分
{
for(j=0;j<5;j++)
average[i]+=stu[j][i];
average[i]/=5;
}
printf("每科平均分为:");
for(i=0;i<3;i++)
printf("%5.1f",average[i]);
printf("\n");
printf("总科目平均分:");
printf("%5.1f\n",aver);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-05
兄弟太懒了吧,定义个数组,for循环一下,不难的,学习的机会。