输入学生姓名查询成绩c语言
时间: 2024-10-27 16:10:36 浏览: 11
学生成绩查询c语言程序.doc
在 C 语言中,实现输入学生姓名查询成绩的功能通常需要设计一个结构体来存储学生的数据(比如姓名和成绩),以及一个函数来处理查询操作。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 用于动态内存分配
// 定义一个结构体表示学生
typedef struct {
char name[50]; // 学生姓名
int score; // 成绩
} Student;
// 动态创建并初始化学生信息
Student* create_student(char* name, int score) {
Student* student = (Student*)malloc(sizeof(Student));
if (student != NULL) {
strcpy(student->name, name);
student->score = score;
}
return student;
}
// 查询功能,这里假设有一个全局数组存放所有学生
void search_by_name(Student students[], int size, char* query_name) {
for (int i = 0; i < size; i++) {
if (strcmp(students[i].name, query_name) == 0) { // 使用 strcmp 比较字符串是否相等
printf("学生 %s 的成绩是:%d\n", students[i].name, students[i].score);
break; // 找到匹配就停止搜索
}
}
}
int main() {
// 创建一些学生实例并存入数组
Student students[] = {
{"张三", 90},
{"李四", 85},
{"王五", 95}
};
int num_students = sizeof(students) / sizeof(students[0]);
char input_name[50];
printf("请输入要查询的学生姓名:");
fgets(input_name, sizeof(input_name), stdin); // 读取用户输入
input_name[strcspn(input_name, "\n")] = '\0'; // 去除换行符
search_by_name(students, num_students, input_name);
return 0;
}
阅读全文