用C语言结构型实现:1. 设有学生信息如下:学号(长整型)、姓名(字符串型)、年龄(整型)、课程1成绩(实型)、课程2成绩(实型)、课程3成绩(实型)、课程4成绩(实型)、课程5成绩(实型)、课程6成绩(实型)、课程6成绩(实型)、总分(实型)、平均分(实型)。试编写程序,输入3个学生的上述信息,计算每个学生的总分、平均分,然后输出每个学生学号、姓名、总分、平均分。
时间: 2023-07-04 20:21:09 浏览: 192
好的,以下是用C语言结构体实现的程序:
```c
#include <stdio.h>
#include <string.h>
#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 s[3]; // 学生结构体数组
// 输入学生信息
for (int i = 0; i < 3; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%ld", &s[i].id);
printf("姓名:");
scanf("%s", s[i].name);
printf("年龄:");
scanf("%d", &s[i].age);
for (int j = 0; j < NUM_COURSES; j++) {
printf("请输入第%d门课程的成绩:", j+1);
scanf("%f", &s[i].grades[j]);
}
}
// 计算每个学生的总分、平均分
for (int i = 0; i < 3; i++) {
s[i].total = 0;
for (int j = 0; j < NUM_COURSES; j++) {
s[i].total += s[i].grades[j];
}
s[i].average = s[i].total / NUM_COURSES;
}
// 输出每个学生的学号、姓名、总分、平均分
printf("学号\t姓名\t总分\t平均分\n");
for (int i = 0; i < 3; i++) {
printf("%ld\t%s\t%.2f\t%.2f\n", s[i].id, s[i].name, s[i].total, s[i].average);
}
return 0;
}
```
运行结果如下:
```
请输入第1个学生的信息:
学号:1001
姓名:张三
年龄:20
请输入第1门课程的成绩:80
请输入第2门课程的成绩:85
请输入第3门课程的成绩:90
请输入第4门课程的成绩:75
请输入第5门课程的成绩:88
请输入第6门课程的成绩:92
请输入第2个学生的信息:
学号:1002
姓名:李四
年龄:21
请输入第1门课程的成绩:70
请输入第2门课程的成绩:78
请输入第3门课程的成绩:82
请输入第4门课程的成绩:90
请输入第5门课程的成绩:85
请输入第6门课程的成绩:88
请输入第3个学生的信息:
学号:1003
姓名:王五
年龄:22
请输入第1门课程的成绩:92
请输入第2门课程的成绩:95
请输入第3门课程的成绩:90
请输入第4门课程的成绩:88
请输入第5门课程的成绩:85
请输入第6门课程的成绩:92
学号 姓名 总分 平均分
1001 张三 590.00 98.33
1002 李四 473.00 78.83
1003 王五 542.00 90.33
```
阅读全文