用C语言编写一个程序,输入 5个学生的学号、姓名、3 门课程的成绩,求出总分最高的学生姓名并输出。并用二维表打印出来
时间: 2024-02-21 12:59:40 浏览: 83
好的,我可以帮你解决这个问题。以下是C语言程序代码:
```c
#include <stdio.h>
#define N 5 // 学生数
#define M 3 // 课程数
int main()
{
int i, j;
char name[N][20]; // 学生姓名
int id[N]; // 学生学号
int score[N][M]; // 学生成绩
int sum, max, max_id;
// 输入学生信息和成绩
for (i = 0; i < N; i++)
{
printf("请输入第 %d 个学生的学号、姓名和三门课程的成绩:\n", i+1);
scanf("%d %s %d %d %d", &id[i], name[i], &score[i][0], &score[i][1], &score[i][2]);
}
// 求总分最高的学生
max = -1;
for (i = 0; i < N; i++)
{
sum = 0;
for (j = 0; j < M; j++)
sum += score[i][j];
if (sum > max)
{
max = sum;
max_id = i;
}
}
// 输出总分最高的学生姓名
printf("总分最高的学生为 %s,学号为 %d,总分为 %d。\n", name[max_id], id[max_id], max);
// 用二维表打印出学生信息和成绩
printf("学号\t姓名\t课程1\t课程2\t课程3\n");
for (i = 0; i < N; i++)
{
printf("%d\t%s\t%d\t%d\t%d\n", id[i], name[i], score[i][0], score[i][1], score[i][2]);
}
return 0;
}
```
程序运行后,会提示你输入每个学生的学号、姓名和三门课程的成绩。然后,程序会计算每个学生的总分,找出总分最高的学生,并输出他的姓名、学号和总分。最后,程序会用二维表的形式打印出所有学生的信息和成绩。
阅读全文