【C语言】假设一个班30名学生。要求设计一个程序:输入每位学生的学号、姓名、和三门成绩,最后输出三门成绩的总分和平均分
时间: 2024-10-16 22:14:33 浏览: 24
在C语言中,你可以使用结构体来存储每位学生的信息,并通过循环来输入和计算每个人的总分和平均分。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义学生信息结构体
typedef struct {
int student_id;
char name[50];
float scores[3]; // 学生的三门成绩
} Student;
int main() {
Student students[30]; // 创建一个存储30个学生的数组
int i;
for (i = 0; i < 30; i++) {
printf("请输入第%d位同学的学号: ", i + 1);
scanf("%d", &students[i].student_id);
printf("请输入第%d位同学的姓名: ", i + 1);
fgets(students[i].name, sizeof(students[i].name), stdin); // 注意去除换行符
students[i].name[strcspn(students[i].name, "\n")] = '\0'; // 去除名字末尾的换行符
printf("请输入第%d位同学三门课的成绩(分号隔开): ", i + 1);
scanf("%f;%f;%f", &students[i].scores[0], &students[i].scores[1], &students[i].scores[2]);
// 计算总分和平均分
float total_score = students[i].scores[0] + students[i].scores[1] + students[i].scores[2];
float average_score = total_score / 3.0;
printf("学生 %s 的总分是 %.2f,平均分是 %.2f\n", students[i].name, total_score, average_score);
}
return 0;
}
阅读全文