解题思路:
注意事项:
参考代码:
#include<stdio.h> #include<string.h> typedef struct { char number[100]; char name[100]; int grade[3]; }biao; int main() { int n; scanf ("%d",&n); biao a[n];//创建学生信息数组结构体 int i,j; for (i=0;i<n;i++) { scanf("%s",a[i].number); scanf("%s",a[i].name); for (j=0;j<3;j++) { scanf("%d",&a[i].grade[j]); } } int sum1=0,sum2=0,sum3=0;//各科成绩总和 for (i=0;i<n;i++) { sum1+=a[i].grade[0]; sum2+=a[i].grade[1]; sum3+=a[i].grade[2]; } printf("%d %d %d\n",sum1/n,sum2/n,sum3/n);//各科成绩平均值 int sum[n];//统计每个学生的成绩总和 for (i=0;i<n;i++) { sum[i]=0; sum[i]=a[i].grade[0]+a[i].grade[1]+a[i].grade[2]; } int k=0; int max=sum[k]; for (i=0;i<n;i++) { if(sum[i]>max) { max=sum[i]; k=i; //k代表成绩总和最高的学生在数组中的位置 } } printf("%s %s %d %d %d",a[k].number,a[k].name,a[k].grade[0],a[k].grade[1],a[k].grade[2]); return 0; }
0.0分
7 人评分