4、输入学生若干科的成绩,输出学号及平均分。c语言循环语句
时间: 2024-02-27 10:57:00 浏览: 79
好的,这是一个比较常见的问题,可以使用C语言中的循环语句和数组来实现。以下是一个简单的示例代码:
```c
#include <stdio.h>
#define MAX_GRADE 100 // 最大成绩
int main() {
int n; // 学生数
printf("请输入学生数:");
scanf("%d", &n);
int grades[n][3]; // 存储学生成绩的二维数组
int sum[n]; // 存储每个学生总成绩的一维数组
for (int i = 0; i < n; i++) {
printf("请输入学号为%d的学生的三门课成绩:", i + 1);
for (int j = 0; j < 3; j++) {
scanf("%d", &grades[i][j]);
}
sum[i] = grades[i][0] + grades[i][1] + grades[i][2]; // 计算总成绩
}
printf("学号 平均分\n");
for (int i = 0; i < n; i++) {
double average = (double)sum[i] / 3; // 计算平均分
printf("%d %.2f\n", i + 1, average);
}
return 0;
}
```
在这个示例代码中,我们首先从用户那里获取学生数,然后使用二维数组`grades`来存储每个学生三门课的成绩,使用一维数组`sum`来存储每个学生的总成绩。接着,我们使用两个嵌套的`for`循环来依次输入每个学生的成绩,并计算每个学生的总成绩。最后,我们再使用一个`for`循环来计算每个学生的平均分,并输出学号及平均分。注意,在计算平均分时,我们将总成绩转换成了`double`类型,以便得到精确的小数部分。
阅读全文