求好心人帮忙解决解决下面的C语言编程问题。先行谢谢!!!
用C语言编写下符合下面要求的程序:5个学生,每个学生的数据包括学好、姓名、3门课的成绩,从键盘输入5个学生的数据,要求打印出每门课的平均分,以及最高分的学生数据(包括学号...
用C语言编写下符合下面要求的程序:5个学生,每个学生的数据包括学好、姓名、3门课的成绩,从键盘输入5个学生的数据,要求打印出每门课的平均分,以及最高分的学生数据(包括学号、姓名、3门课成绩、平均分数)。
展开
展开全部
打印出每门课的平均分已通过测试,最高分的学生数据问题不明确,是总分最高还是某门课的最高分学生,所以没有编那一部分。问题需要补充。
#include <stdio.h>
struct student
{ int number;
char name[5];
int score[3];
};
struct student stu[5];
main()
{ int ave[3]={0},max[3];
int maxindex[3];
float average[3];
int i,j;
for(i=0;i<5;i++)
{ printf("Input the NO.%d student's data:\n",i+1);
printf("Input the number:\n");
scanf("%d",&stu[i].number);
printf("Input the name:\n");
scanf("%s",&stu[i].name);
for(j=0;j<3;j++)
{ printf("Input the score of class %d:\n",j+1);
scanf("%d",&stu[i].score[j]);
}
}
for(j=0;j<3;j++)
{
max[j]=stu[0].score[j];
for(i=0;i<5;i++)
{
if(max[j]<stu[i].score[j])
{ max[j]=stu[i].score[j];
maxindex[j]=i;
}
ave[j]+=stu[i].score[j];
}
average[j]=ave[j]/5;
}
for(j=0;j<3;j++)
printf("NO.%d class's average score is %.3f\n",j+1,average[j]);
}
#include <stdio.h>
struct student
{ int number;
char name[5];
int score[3];
};
struct student stu[5];
main()
{ int ave[3]={0},max[3];
int maxindex[3];
float average[3];
int i,j;
for(i=0;i<5;i++)
{ printf("Input the NO.%d student's data:\n",i+1);
printf("Input the number:\n");
scanf("%d",&stu[i].number);
printf("Input the name:\n");
scanf("%s",&stu[i].name);
for(j=0;j<3;j++)
{ printf("Input the score of class %d:\n",j+1);
scanf("%d",&stu[i].score[j]);
}
}
for(j=0;j<3;j++)
{
max[j]=stu[0].score[j];
for(i=0;i<5;i++)
{
if(max[j]<stu[i].score[j])
{ max[j]=stu[i].score[j];
maxindex[j]=i;
}
ave[j]+=stu[i].score[j];
}
average[j]=ave[j]/5;
}
for(j=0;j<3;j++)
printf("NO.%d class's average score is %.3f\n",j+1,average[j]);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询