int i, t, n, max=0, k; //声明相关变量 int s1, s2, s3; scanf("%d", &n); //输入学生数 n for (i = 1; i <= n; i++) { scanf("%s %s %d %d %d", &a[i].number, &a[i].name, &s1, &s2, &s3); //依次输入每个学生的 学号,姓名,三门课程成绩 a[i].score = s1 + s2 + s3; //计算总成绩 } for (i = 1; i <= n; i++) { if (max < a[i].score) { max = a[i].score; //运用一重循环选出最高分 k = i; //并将其下标赋给 k } } printf("%s %s %d", a[k].name, a[k].number, a[k].score); //输出总分最高学生的 姓名、学号和总分
时间: 2024-04-03 19:34:38 浏览: 44
这段代码是一个简单的学生成绩管理程序,可以输入学生的学号、姓名和三门课程的成绩,然后计算每个学生的总分,最后输出总分最高的学生的姓名、学号和总分。
具体来说,代码首先声明了变量 i、t、n、max 和 k,其中 i 和 k 是循环计数器,n 是学生数,max 是最高分,t 是临时变量。然后定义了结构体数组 a,用来存储每个学生的学号、姓名和成绩。
接着通过 scanf 函数输入学生数 n,然后用循环依次输入每个学生的学号、姓名和三门课程的成绩,并计算出每个学生的总分。最后再用一重循环找出最高分,并将其下标赋给变量 k。
最后通过 printf 函数输出总分最高学生的姓名、学号和总分。
总体来说,这段代码比较简单,主要是用来展示结构体数组的用法和一些基本的 C 语言语法。
阅读全文