话不多说,直接上代码,小白一个,如有错误,评论必修正。
#include#include #define m 4 //学生个数 #define n 3 //课程数 struct stu { char xuehao[100]; char name[10]; float chengji[n]; }p[m]; void abb(struct stu p[]) { int a, b, e = 0, f = 0; float d = 0, g = 0, c; for (a = 0; a <= m - 1; a++) { c = 0; for (b = 0; b <= n - 1; b++) c += p[a].chengji[b]; d += c; //总成绩 if (e < c) //判断成绩大小 f = a; } d = d / m; for (b = 0; b < n; b++) g += p[f].chengji[b]; g = g / n; printf("总平均成绩为%fn", d); printf("最高分的学生的数据为:%s %s ", p[f].xuehao, p[f].name); for (b = 0; b <= n - 1; b++) printf("%f ", p[f].chengji[b]); printf("平均成绩为:%f", g); } int main() { int a, b, c, d; for (a = 0; a <= m - 1; a++) { b = a + 1; printf("请输入第%d个学生的信息(学号 姓名 第一科成绩 第二科成绩 第三科成绩):", b); for (d = 0; (p[a].xuehao[d] = getchar()) != ' '; d++); //输入学号,空格结束输入 p[a].xuehao[++d] = ' '; for (d = 0; (p[a].name[d] = getchar()) != ' '; d++); //输入名字,空格结束 p[a].name[++d] = ' '; for (c = 0; c <= n-1; c++) scanf_s("%f", &p[a].chengji[c]); //输入成绩,空格结束 } abb(p); return 0; }



