用c语言表示已知3门课的成绩求总分和平均分
时间: 2024-10-19 14:09:22 浏览: 117
在C语言中,你可以使用结构体来存储学生的课程成绩信息,然后通过数组或其他数据结构来处理多个学生的成绩。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义一个结构体来存储学生的信息
typedef struct {
char name[50];
int course1;
int course2;
int course3;
} Student;
// 计算总分和平均分的函数
void calculateScore(Student scores[], int numStudents) {
int totalScore = 0;
float averageScore = 0.0;
for (int i = 0; i < numStudents; i++) {
totalScore += scores[i].course1 + scores[i].course2 + scores[i].course3;
averageScore = (float)(totalScore / (i + 1)); // 避免除以零错误,在循环结束前加1
}
printf("学生姓名\t课程1\t课程2\t课程3\t总分\t平均分\n");
for (int i = 0; i < numStudents; i++) {
printf("%s\t%d\t%d\t%d\t%d\t%.2f\n", scores[i].name, scores[i].course1, scores[i].course2, scores[i].course3, totalScore, averageScore);
}
}
int main() {
// 创建一个Student类型的数组,假设有3名学生
Student students[3] = {
{"张三", 90, 85, 95},
{"李四", 80, 78, 90},
{"王五", 88, 92, 86}
};
int numStudents = sizeof(students) / sizeof(students[0]);
calculateScore(students, numStudents);
return 0;
}
```
在这个例子中,`calculateScore`函数接受一个包含学生信息的结构体数组和学生的数量,计算每个学生的总分和平均分,并打印出来。
阅读全文