输入5位同学的编号、姓名以及3门课程的成绩。假设学号长度不超过6位,姓名长度不超过8位,且姓名中不包含空格。输出每位同学的姓名及平均分,保留1位小数。每位学生的信息占据一行。姓名和平均分之间以空格间隔。c语言
时间: 2024-02-09 18:12:05 浏览: 62
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
好的,这里给出一个示例代码,使用结构体来存储每位同学的信息和成绩,并使用循环来输入和输出数据:
```c
#include <stdio.h>
// 定义一个结构体来存储每位同学的信息和成绩
struct Student {
char sid[7]; // 学号,长度不超过6位
char name[9]; // 姓名,长度不超过8位,且姓名中不包含空格
float scores[3]; // 3门课程的成绩
float avg_score; // 平均分
};
int main() {
// 创建一个结构体数组,用于存储每位同学的信息和成绩
struct Student students[5];
// 循环输入每位同学的信息和成绩
for (int i = 0; i < 5; i++) {
// 输入学号、姓名和3门课程的成绩
printf("请输入第%d位同学的信息:\n", i+1);
printf("学号:");
scanf("%s", students[i].sid);
printf("姓名:");
scanf("%s", students[i].name);
printf("第1门课程成绩:");
scanf("%f", &students[i].scores[0]);
printf("第2门课程成绩:");
scanf("%f", &students[i].scores[1]);
printf("第3门课程成绩:");
scanf("%f", &students[i].scores[2]);
// 计算该同学的平均分
students[i].avg_score = (students[i].scores[0] + students[i].scores[1] + students[i].scores[2]) / 3;
}
// 输出每位同学的姓名及平均分
printf("每位同学的姓名及平均分如下:\n");
for (int i = 0; i < 5; i++) {
printf("%s %.1f\n", students[i].name, students[i].avg_score);
}
return 0;
}
```
这里使用了一个结构体数组来存储每位同学的信息和成绩,循环输入学生信息后,计算每位同学的平均分,然后循环输出每位同学的姓名及平均分。注意在输出时,要使用一个空格来分隔姓名和平均分。
阅读全文