用c语言已知有n个学生,每个学生信息包含学号、姓名、性别、3门课程成绩,现在请你设计函数,当输入某个学号时,存在该学生则输出学生的全部信息,若不存在,则输出Not Found。
时间: 2023-12-16 22:13:46 浏览: 258
好的,根据你的要求,我可以给你提供一个实现该功能的 C 语言代码示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NUM 100 // 最大学生数
struct student {
char id[20]; // 学号
char name[20]; // 姓名
char gender[5]; // 性别
float score[3]; // 3门课程成绩
};
int main() {
struct student stu[MAX_NUM];
int n, i;
char search_id[20];
printf("请输入学生人数:");
scanf("%d", &n);
// 输入学生信息
printf("请依次输入每个学生的学号、姓名、性别、3门课程成绩:\n");
for (i = 0; i < n; i++) {
scanf("%s %s %s %f %f %f", stu[i].id, stu[i].name, stu[i].gender, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
}
// 查询学生信息
printf("请输入要查询的学生的学号:");
scanf("%s", search_id);
for (i = 0; i < n; i++) {
if (strcmp(search_id, stu[i].id) == 0) {
printf("学号:%s\n姓名:%s\n性别:%s\n3门课程成绩:%.2f %.2f %.2f\n", stu[i].id, stu[i].name, stu[i].gender, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
break;
}
}
if (i == n) {
printf("Not Found\n");
}
return 0;
}
```
以上代码中,我们定义了一个结构体 `struct student` 来存储每个学生的信息,然后通过循环输入学生信息。最后,当用户输入要查询的学生学号时,我们通过循环查找对应学生的信息并输出,如果找不到则输出 `Not Found`。
阅读全文