c语言 信息录入函数:输入10名学生的学号和姓名。排序函数:实现学号从小到大排序。查找函数:根据输入的同学的姓名查找,并打印学号。主函数:调用以上三个函数,实现简易学生管理系统
时间: 2024-02-22 18:57:13 浏览: 18
好的,下面是实现简易学生管理系统的代码:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct student {
int id; // 学号
char name[20]; // 姓名
};
// 信息录入函数
void input(struct student s[]) {
printf("请输入10名学生的学号和姓名:\n");
for (int i = 0; i < 10; i++) {
printf("请输入第%d个学生的学号和姓名:", i + 1);
scanf("%d %s", &s[i].id, s[i].name);
}
}
// 排序函数
void sort(struct student s[]) {
struct student temp;
for (int i = 0; i < 10 - 1; i++) {
for (int j = i + 1; j < 10; j++) {
if (s[i].id > s[j].id) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
}
// 查找函数
void search(struct student s[], char name[]) {
for (int i = 0; i < 10; i++) {
if (strcmp(s[i].name, name) == 0) { // 使用strcmp函数比较字符串是否相等
printf("查找结果:学号为%d\n", s[i].id);
return;
}
}
printf("查找结果:未找到该学生\n");
}
// 主函数
int main() {
struct student s[10];
char name[20];
input(s);
sort(s);
printf("学号从小到大排序结果如下:\n");
for (int i = 0; i < 10; i++) {
printf("学号:%d,姓名:%s\n", s[i].id, s[i].name);
}
printf("请输入要查找的学生姓名:");
scanf("%s", name);
search(s, name);
return 0;
}
```
在程序运行过程中,你可以输入10名学生的学号和姓名,程序会自动进行排序,最后你可以输入要查找的学生姓名进行查找操作。注意,在查找时使用到了`strcmp`函数来比较字符串是否相等。