使用c语言数组输入三个学生三门课程的成绩,分别求每个学生的平均成绩和每门课程的平均成绩
时间: 2024-12-19 22:17:46 浏览: 13
C语言学生成绩管理系统课程设计
在C语言中,你可以通过定义一个结构体来存储学生的姓名和三门课程的成绩,然后使用循环遍历数组来计算平均成绩。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
typedef struct {
char name[50];
int score[3]; // 存储三门课程成绩
} Student;
int main() {
Student students[3]; // 存放三个学生信息的数组
// 输入学生信息
for (int i = 0; i < 3; i++) {
printf("请输入第 %d 位学生的姓名:", i + 1);
fgets(students[i].name, sizeof(students[i].name), stdin); // 去掉换行符
for (int j = 0; j < 3; j++) {
printf("请输入第%d门课程的成绩(%d-%d分):", j + 1, students[i].score[j - 1] + 1, 100); // 提示范围
scanf("%d", &students[i].score[j]);
}
}
// 计算每个学生的平均成绩
float student_averages[3] = {0};
for (int i = 0; i < 3; i++) {
float sum = 0;
for (int j = 0; j < 3; j++) {
sum += students[i].score[j];
}
student_averages[i] = sum / 3;
printf("学生 %s 的平均成绩是 %.2f\n", students[i].name, student_averages[i]);
}
// 计算每门课程的平均成绩
float course_averages[3] = {0};
for (int j = 0; j < 3; j++) {
float total = 0;
for (int i = 0; i < 3; i++) {
total += students[i].score[j];
}
course_averages[j] = total / 3;
printf("第%d门课程的平均成绩是 %.2f\n", j + 1, course_averages[j]);
}
return 0;
}
阅读全文