编写一个c语言程序,要求能对编号姓名成绩进行处理 并且能通过输入编号或姓名进行查询
时间: 2024-05-06 11:17:21 浏览: 75
基于C语言的学生成绩管理系统+高分项目+源码.7z
以下是一个简单的C语言程序,可以对学生的编号、姓名和成绩进行处理,并且可以通过输入编号或姓名进行查询。
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct student {
int id;
char name[50];
int score;
};
int main() {
struct student students[MAX_STUDENTS];
int num_students = 0;
// 添加学生信息
printf("请输入学生信息(按 ctrl+d 结束输入):\n");
while (num_students < MAX_STUDENTS && scanf("%d %s %d", &students[num_students].id, students[num_students].name, &students[num_students].score) == 3) {
num_students++;
}
// 查询学生信息
int choice;
printf("请选择查询方式(1.按编号查询 2.按姓名查询):");
scanf("%d", &choice);
if (choice == 1) {
int id;
printf("请输入学生编号:");
scanf("%d", &id);
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
printf("学生编号:%d,姓名:%s,成绩:%d\n", students[i].id, students[i].name, students[i].score);
}
}
} else if (choice == 2) {
char name[50];
printf("请输入学生姓名:");
scanf("%s", name);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("学生编号:%d,姓名:%s,成绩:%d\n", students[i].id, students[i].name, students[i].score);
}
}
} else {
printf("无效的选择\n");
}
return 0;
}
```
该程序使用结构体存储学生信息,通过一个循环来输入学生信息,可以输入多个学生信息,以 ctrl+d 结束输入。然后,程序会提示用户选择查询方式,通过一个 if-else 结构进行选择。如果选择按编号查询,则需要输入学生编号,然后遍历整个学生数组进行查找;如果选择按姓名查询,则需要输入学生姓名,然后使用 `strcmp` 函数进行字符串比较,查找符合条件的学生信息。
阅读全文