输入10个学生的学号、姓名、成绩,输出学生的成绩等级和不及格人数。每个学生的记录包括:学号、姓名、成绩和等级,要求定义和调用函数set_grade(),根据学生成绩设置其等级,并统计不及格人数,等级设置:85-100为a,70-84为b,60-69为c,0-59为d。试编写相应程序。
时间: 2023-05-03 08:01:10 浏览: 219
这道题要求输入10个学生的学号、姓名、成绩,并输出学生的成绩等级和不及格人数。每个学生的记录包括:学号、姓名、成绩和等级,要求定义并调用函数set_grade(),根据学生成绩设置其等级,并统计不及格人数,等级设置为:85-100为A,70-84为B,60-69为C,0-59为D。题目要求编写相应程序。
相关问题
c语言按等级统计学生成绩:首先输入要统计的学生人数n,之后输入n个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。每个学生的记录包括学号、姓名、成绩和等级,要求定义和调用函数set_grade(),根据学生成绩设置其等级,并统计不及格人数,等级设置:85~100为A,70~84为B,60~69为C,0~59为D。试编写相应程序。
以下是使用C语言编写的按等级统计学生成绩的程序:
```c
#include <stdio.h>
#define MAX_N 100
struct student {
char id[20];
char name[20];
int score;
char grade;
};
void set_grade(struct student *s, int n, int *fail_num) {
for (int i = 0; i < n; i++) {
if (s[i].score >= 85 && s[i].score <= 100) {
s[i].grade = 'A';
} else if (s[i].score >= 70 && s[i].score <= 84) {
s[i].grade = 'B';
} else if (s[i].score >= 60 && s[i].score <= 69) {
s[i].grade = 'C';
} else {
s[i].grade = 'D';
(*fail_num)++;
}
}
}
int main() {
int n;
struct student stu[MAX_N];
int fail_num = 0;
printf("请输入要统计的学生人数:");
scanf("%d", &n);
printf("请输入学生信息:\n");
for (int i = 0; i < n; i++) {
printf("第%d个学生:\n", i + 1);
printf("学号:");
scanf("%s", stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
printf("成绩:");
scanf("%d", &stu[i].score);
}
set_grade(stu, n, &fail_num);
printf("\n学生信息如下:\n");
printf("学号\t姓名\t成绩\t等级\n");
for (int i = 0; i < n; i++) {
printf("%s\t%s\t%d\t%c\n", stu[i].id, stu[i].name, stu[i].score, stu[i].grade);
}
printf("\n不及格人数:%d\n", fail_num);
return 0;
}
```
程序中定义了一个结构体 `student` 表示学生,其中包含学号、姓名、成绩和等级四个属性。`set_grade()` 函数用于根据学生成绩设置其等级,并统计不及格人数。主函数中先输入要统计的学生人数,再输入每个学生的学号、姓名和成绩,最后调用 `set_grade()` 函数设置等级和统计不及格人数,最终输出学生信息和不及格人数。
注意,在 `set_grade()` 函数中,为了方便统计不及格人数,使用了一个指向 `fail_num` 的指针,该指针指向不及格人数变量的地址,通过 `*fail_num` 来修改不及格人数的值。
输入十个学生的学生姓名,学号和成绩,输出成绩不及格的学生姓名,学号和成绩,用C++编写一个程序
好的,以下是一个简单的 C++ 程序,可以实现您的要求:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Student {
string name;
string id;
int score;
};
int main() {
const int N = 10;
Student students[N];
// 输入学生信息
for (int i = 0; i < N; i++) {
cout << "请输入第 " << i + 1 << " 个学生的姓名、学号和成绩:" << endl;
cin >> students[i].name >> students[i].id >> students[i].score;
}
// 输出不及格学生的信息
cout << "不及格学生的信息如下:" << endl;
for (int i = 0; i < N; i++) {
if (students[i].score < 60) {
cout << students[i].name << "\t" << students[i].id << "\t" << students[i].score << endl;
}
}
return 0;
}
```
程序中,我们定义了一个 `Student` 结构体,用来存储学生的姓名、学号和成绩。然后我们定义了一个长度为 10 的 `students` 数组,用来存储 10 个学生的信息。接下来,我们通过循环遍历 `students` 数组,让用户输入每个学生的信息。最后,我们再次循环遍历 `students` 数组,找出成绩不及格的学生,并输出他们的信息。
希望这个程序能够满足您的需求。
阅读全文