#include<stdio.h>
#define N 5
struct student
{
long num;
char name[10];
int score[3];
float avr;
};
int main(void)
{
//这里定义了N个学生信息
struct student stu[N];
//下面的数据用来存储过程变量值
int i,s=0,j,h;
//
double aver;
//定义3个最大值和和值,用来分别统计3门课程的最大值和总分
int max[3],sum[3];
//这里用来读入学生信息
printf("Pls enter your Info,as :2007 aaa 97 98 99\n");
for(i=0;i<N;i++)
{
scanf("%ld %s %d %d %d",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
}
//下面是用来显示输入的用户信息
for(i=0;i<N;i++)
{
printf("%d\t%s\t%d\t%d\t%d\t%f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],(1.0*(stu[i].score[0]+stu[i].score[1]+stu[i].score[2]))/3);
}
//获取到每科成绩的最大值,并输出最高者的信息。也输出每科的最高平均成绩
for(j=0; j<3; ++j)
{
max[j] = 0;
sum[j] = 0;
for(i=0;i<N;i++)
{
if(stu[i].score[j]>max[j])
{
max[j]=stu[i].score[j];
h=i;
}
sum[j] += stu[i].score[j];
}
printf("The first class_Info is that:\n");
aver = 1.0*sum[j]/N;
printf("\tThe Aver is %lf\n", aver);
printf("\tThe Highest Score is:%d \n\tThe Score Highest stu info is :%d %s %d\n",max[j], stu[h].num,stu[h].name,stu[h].score[j]);
}
return 0;
}
其中N定义了学生的个数
如果修改写成#define N 你要的数字
温馨提示:答案为网友推荐,仅供参考