C语言键盘输入是个人的学号,成绩,姓名,将其中及格的人的成绩按学号降序输出,要求学号,成绩,姓名分别用三个数组储存,不使用类,结构体,输入,排序,输出分别用三个函数实现,main函数负责调用这三个函数
时间: 2024-05-12 08:13:41 浏览: 78
接收从键盘输入某班学生的学号、姓名、成绩,对学 生的成绩进行排序.zip
5星 · 资源好评率100%
好的,我来帮你写代码。
```c
#include <stdio.h>
#define MAX_STUDENT_NUM 100
void input(int num[], int score[], char name[][20], int *n) {
printf("请输入学生数:");
scanf("%d", n);
printf("请输入学号、成绩和姓名:\n");
for (int i = 0; i < *n; i++) {
scanf("%d%d%s", &num[i], &score[i], name[i]);
}
}
void select_pass(int num[], int score[], char name[][20], int n, int pass[], int *m) {
*m = 0;
for (int i = 0; i < n; i++) {
if (score[i] >= 60) {
pass[*m] = i;
(*m)++;
}
}
}
void output(int num[], int score[], char name[][20], int pass[], int m) {
printf("及格的学生信息如下:\n");
printf("学号\t成绩\t姓名\n");
for (int i = 0; i < m; i++) {
int k = pass[i];
printf("%d\t%d\t%s\n", num[k], score[k], name[k]);
}
}
int main() {
int num[MAX_STUDENT_NUM];
int score[MAX_STUDENT_NUM];
char name[MAX_STUDENT_NUM][20];
int pass[MAX_STUDENT_NUM];
int n, m;
input(num, score, name, &n);
select_pass(num, score, name, n, pass, &m);
output(num, score, name, pass, m);
return 0;
}
```
上面的代码中,`input` 函数用于输入学生信息,`select_pass` 函数用于筛选及格的学生信息,`output` 函数用于输出及格的学生信息。在 `main` 函数中,我们先定义了几个数组和变量,然后分别调用了这三个函数。
阅读全文