设有学生信息如下:学号(长整型)、姓名(字符串型)、年龄(整型)、课程1成绩(实型) 课程4成绩(实型)、课程5成绩(实型)、课程6成绩(实型)、课程6成绩(实型)、总分(实型)、平均分(实型)。试编写程序,输入3个学生的上述信息,计算每个学生的总分、平均分,然后输出每个学生学号、姓名、总分、平均分要求使用C语言
时间: 2023-07-31 11:13:21 浏览: 126
数据结构课程
以下是一份实现题目要求的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define NUM_STUDENTS 3 // 学生数目
#define NUM_COURSES 6 // 课程数目
struct student {
long id; // 学号
char name[20]; // 姓名
int age; // 年龄
float grades[NUM_COURSES]; // 成绩数组
float total; // 总分
float average; // 平均分
};
int main() {
struct student students[NUM_STUDENTS];
// 读入每个学生的信息
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%ld", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("年龄:");
scanf("%d", &students[i].age);
for (int j = 0; j < NUM_COURSES; j++) {
printf("课程%d成绩:", j + 1);
scanf("%f", &students[i].grades[j]);
}
}
// 计算每个学生的总分和平均分
for (int i = 0; i < NUM_STUDENTS; i++) {
students[i].total = 0;
for (int j = 0; j < NUM_COURSES; j++) {
students[i].total += students[i].grades[j];
}
students[i].average = students[i].total / NUM_COURSES;
}
// 输出每个学生的信息
printf("学生信息如下:\n");
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("学号:%ld,姓名:%s,总分:%f,平均分:%f\n",
students[i].id, students[i].name, students[i].total, students[i].average);
}
return 0;
}
```
该程序定义了一个结构体 `student`,其中包含了每个学生的学号、姓名、年龄、成绩数组、总分和平均分。首先读入每个学生的信息,然后计算每个学生的总分和平均分,最后输出每个学生的信息。
阅读全文