定义一个二维数组,存放五个学生的数学,语文和英文成绩,编写程序,求出每个学生的总分和平均分
时间: 2024-11-22 20:34:17 浏览: 136
在C语言中,我们可以定义一个二维数组来存储每个学生的数学、语文和英语成绩,然后遍历整个数组计算每个学生的总分和平均分。这里我们假设每行代表一个学生,每列是单科的成绩。
首先,定义二维数组如下:
```c
typedef int Score; // 同样定义一个Score别名
// 假设有5个学生,每门课程的成绩占3个位置
Score students[][3] = {
{85, 90, 92}, // 第1个学生的成绩
{92, 95, 98}, // 第2个学生的成绩
{78, 86, 80}, // 第3个学生的成绩
{98, 100, 95}, // 第4个学生的成绩
{80, 85, 75} // 第5个学生的成绩
};
```
接下来,我们可以编写一个函数来计算每个学生的总分和平均分:
```c
void calculate_grades(StudentScores students[], int num_students) {
for (int i = 0; i < num_students; i++) {
int total_score = students[i][0] + students[i][1] + students[i][2]; // 总分
double average_score = (double) total_score / 3.0; // 平均分(转换成浮点数除法)
printf("学生 %d 的总分: %d, 平均分: %.2f\n", i+1, total_score, average_score);
}
}
// 调用函数并传入数组和学生人数
calculate_grades(students, 5);
```
这段代码会打印出每个学生的总分和平均分。
阅读全文