C语言从键盘上输入三个学生的学号,姓名,和三门课的成绩,输出每个学生的姓名和三门课的成绩的平均值,使用结构体student
时间: 2024-01-01 21:06:06 浏览: 44
好的,以下是参考代码:
```c
#include <stdio.h>
// 定义结构体
struct student {
int id;
char name[20];
float score[3];
};
int main() {
// 定义三个学生
struct student stu[3];
// 从键盘输入学生信息
for(int i=0; i<3; i++) {
printf("请输入第%d个学生的学号、姓名和三门课的成绩:\n", i+1);
scanf("%d %s %f %f %f", &stu[i].id, stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
}
// 输出每个学生的姓名和三门课的平均成绩
for(int i=0; i<3; i++) {
printf("%s的平均成绩为:%.2f\n", stu[i].name, (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3);
}
return 0;
}
```
注意,这里的平均成绩计算采用了简单的平均值计算方法,实际应用中可能需要根据具体情况进行调整。
相关问题
C语言 从键盘中输入三个学生的学号,姓名和三门课的成绩,输出每个学生的姓名和三门课成绩的平均值
以下是一个解决方案:
```c
#include <stdio.h>
int main() {
int id[3];
char name[3][20];
float score[3][3];
float average[3];
// 从键盘中输入学生信息
for (int i = 0; i < 3; i++) {
printf("请输入第%d个学生的学号、姓名和三门课的成绩:\n", i+1);
scanf("%d %s %f %f %f", &id[i], name[i], &score[i][0], &score[i][1], &score[i][2]);
// 计算平均值
average[i] = (score[i][0] + score[i][1] + score[i][2]) / 3.0;
}
// 输出每个学生的姓名和平均值
for (int i = 0; i < 3; i++) {
printf("%s的平均成绩为%.2f\n", name[i], average[i]);
}
return 0;
}
```
这个程序定义了一个二维数组 `score` 来存储每个学生的三门课成绩,以及一个一维数组 `average` 来存储每个学生的平均值。在循环中,使用 `scanf` 从键盘中输入学生信息,并计算平均值。最后,使用 `printf` 输出每个学生的姓名和平均值。注意,为了让 `scanf` 能够正确地读取字符串,我们使用 `%s` 格式化字符串。
C语言 从键盘中输入3个学生的学号,姓名和3门课的成绩,输出每个学生的姓名和三门课成绩的平均值
以下是一个解决方案:
```c
#include <stdio.h>
int main() {
int id[3];
char name[3][20];
float score[3][3];
float average[3];
// 从键盘中输入学生信息
for (int i = 0; i < 3; i++) {
printf("请输入第%d个学生的学号、姓名和三门课的成绩:\n", i+1);
scanf("%d %s %f %f %f", &id[i], name[i], &score[i][0], &score[i][1], &score[i][2]);
// 计算平均值
average[i] = (score[i][0] + score[i][1] + score[i][2]) / 3.0;
}
// 输出每个学生的姓名和成绩
printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
for (int i = 0; i < 3; i++) {
printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n", id[i], name[i], score[i][0], score[i][1], score[i][2], average[i]);
}
return 0;
}
```
这个程序与前一个程序类似,只是在输出时增加了学号和成绩的输出。在循环中,使用 `scanf` 从键盘中输入学生信息,并计算平均值。最后,使用 `printf` 输出每个学生的学号、姓名、三门课成绩和平均值。注意,为了方便对齐,我们使用了 `\t` 水平制表符来分隔输出。