编写程序实现对三人的四门课程分别按人求总分,并打印出包括总分的二维成绩表(总分在最后一列)。(要求用二维数组储存成绩,三个人的成绩依次按人从键盘输入)
时间: 2024-05-13 22:16:13 浏览: 30
以下是 Python 代码实现:
```python
# 初始化成绩二维数组
scores = [[0] * 5 for i in range(3)]
# 分别输入三个人的四门课程成绩
for i in range(3):
print("请输入第", i+1, "个人的四门课程成绩:")
for j in range(4):
scores[i][j] = int(input())
# 计算每个人的总分并存储在最后一列
for i in range(3):
sum = 0
for j in range(4):
sum += scores[i][j]
scores[i][4] = sum
# 打印成绩表
print("成绩表:")
print(" 课程1 课程2 课程3 课程4 总分")
for i in range(3):
print("第", i+1, "个人:", end="")
for j in range(5):
print(scores[i][j], end=" ")
print()
```
代码中使用了一个 3x5 的二维数组来储存成绩,其中每行代表一个人的成绩,每列代表一门课程或总分。首先通过输入来给二维数组赋值,然后计算每个人的总分并存储在最后一列,最后打印成绩表。
相关问题
用C语言编写一个程序,输入 5个学生的学号、姓名、3 门课程的成绩,求出总分最高的学生姓名并输出。并用二维表打印出来
好的,我可以帮你解决这个问题。以下是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;
}
```
程序运行后,会提示你输入每个学生的学号、姓名和三门课程的成绩。然后,程序会计算每个学生的总分,找出总分最高的学生,并输出他的姓名、学号和总分。最后,程序会用二维表的形式打印出所有学生的信息和成绩。
用C语言编写一个程序,输入 5个学生的学号、姓名、3 门课程的成绩和总分,求出总分最高的学生姓名并输出。并用二维表打印出来
好的,这是一个经典的 C 语言编程题,我来给您讲一下思路。
首先,我们可以定义一个结构体来存储每个学生的信息,包括学号、姓名、3 门课程的成绩和总分。结构体定义如下:
```c
struct student {
int id;
char name[20];
int score1, score2, score3;
int total;
};
```
接下来,我们可以定义一个数组来存储 5 个学生的信息,以及一个变量来记录总分最高的学生的下标。代码如下:
```c
int main() {
struct student stu[5];
int max_index = 0;
// 输入每个学生的信息并计算总分
for (int i = 0; i < 5; i++) {
// 输入学号、姓名和成绩
printf("请输入第 %d 个学生的学号、姓名和成绩:\n", i+1);
scanf("%d %s %d %d %d", &stu[i].id, stu[i].name, &stu[i].score1, &stu[i].score2, &stu[i].score3);
// 计算总分
stu[i].total = stu[i].score1 + stu[i].score2 + stu[i].score3;
// 更新总分最高的学生的下标
if (stu[i].total > stu[max_index].total) {
max_index = i;
}
}
// 输出总分最高的学生的姓名和成绩
printf("总分最高的学生是 %s,总分为 %d 分。\n", stu[max_index].name, stu[max_index].total);
// 用二维表打印学生信息
printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t总分\n");
for (int i = 0; i < 5; i++) {
printf("%d\t%s\t%d\t%d\t%d\t%d\n", stu[i].id, stu[i].name, stu[i].score1, stu[i].score2, stu[i].score3, stu[i].total);
}
return 0;
}
```
运行程序,输入每个学生的信息,程序会自动计算总分,并输出总分最高的学生的姓名和成绩,并用二维表形式打印出所有学生的信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)