1. 设有学生信息如下:学号(长整型)、姓名(字符串型)、年龄(整型)、课程1成绩(实型)、课程2成绩(实型)、课程3成绩(实型)、课程4成绩(实型)、课程5成绩(实型)、课程6成绩(实型)、课程6成绩(实型)、总分(实型)、平均分(实型)。试用C语言编写程序,输入3个学生的上述信息,计算每个学生的总分、平均分,然后输出每个学生学号、姓名、总分、平均分。
时间: 2023-07-04 19:21:49 浏览: 80
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
好的,以下是代码实现:
```c
#include <stdio.h>
#define NUM_OF_STUDENTS 3
#define NUM_OF_COURSES 6
struct Student {
long student_id;
char name[20];
int age;
float course_grades[NUM_OF_COURSES];
float total_score;
float average_score;
};
int main() {
struct Student students[NUM_OF_STUDENTS];
// 输入学生信息
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%ld", &students[i].student_id);
printf("姓名:");
scanf("%s", students[i].name);
printf("年龄:");
scanf("%d", &students[i].age);
printf("课程1成绩:");
scanf("%f", &students[i].course_grades[0]);
printf("课程2成绩:");
scanf("%f", &students[i].course_grades[1]);
printf("课程3成绩:");
scanf("%f", &students[i].course_grades[2]);
printf("课程4成绩:");
scanf("%f", &students[i].course_grades[3]);
printf("课程5成绩:");
scanf("%f", &students[i].course_grades[4]);
printf("课程6成绩:");
scanf("%f", &students[i].course_grades[5]);
// 计算总分和平均分
students[i].total_score = 0;
for (int j = 0; j < NUM_OF_COURSES; j++) {
students[i].total_score += students[i].course_grades[j];
}
students[i].average_score = students[i].total_score / NUM_OF_COURSES;
}
// 输出学生信息
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
printf("第%d个学生的信息:\n", i+1);
printf("学号:%ld\n", students[i].student_id);
printf("姓名:%s\n", students[i].name);
printf("总分:%f\n", students[i].total_score);
printf("平均分:%f\n", students[i].average_score);
}
return 0;
}
```
这个程序使用了结构体来存储每个学生的信息,方便计算和输出。在输入信息的时候,我们同时计算了每个学生的总分和平均分,然后在输出信息的时候一并输出。注意,这里我们假设每个学生都有6门课程,可以根据需要修改 `NUM_OF_COURSES` 的值。
阅读全文