用C++写输入n个学生的姓名及其3门功课成绩,要求按输入的逆序逐行输出每个学生的姓名、3门课成绩和平均成绩。若有学生平均成绩低于60分,则不输出该学生信息。
时间: 2023-09-08 14:09:31 浏览: 118
c++定义一个学生类(属性有学号,姓名,成绩),要求输入学生的学号,姓名及三科的成绩,以输入内容来设置学生对象的属性。最后输出学生的学号,姓名及三科的平均成绩。
这是一个关于C语言的编程问题,可以直接回答。以下是可能的代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct student {
char name[50];
int scores[3];
float average;
};
int main() {
struct student students[MAX_STUDENTS];
int n;
printf("请输入学生数量:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入该学生的3门成绩(用空格隔开):");
scanf("%d %d %d", &students[i].scores[0], &students[i].scores[1], &students[i].scores[2]);
students[i].average = (students[i].scores[0] + students[i].scores[1] + students[i].scores[2]) / 3.0;
}
for (int i = n - 1; i >= 0; i--) {
if (students[i].average >= 60) {
printf("%s %d %d %d %.2f\n", students[i].name, students[i].scores[0], students[i].scores[1], students[i].scores[2], students[i].average);
}
}
return 0;
}
```
这段代码定义了一个结构体 `student`,包含学生姓名、3门成绩和平均成绩,然后声明了一个 `students` 数组来存储所有学生的信息。通过循环输入每个学生的信息,然后再倒序遍历 `students` 数组,只输出平均成绩不低于60分的学生信息。
阅读全文