有5个学生,每个学生的数据包括:学号(字符数组型)、姓名(字符数组型)、C语言成绩(整型),编写程序先从键盘上输入学生们的数据,再输入一个学生的学号,要求输出该学号对应的学生信息,未找到该学生时输出not found。
时间: 2024-12-11 09:40:00 浏览: 16
要实现这个功能,你需要使用结构体来存储学生的数据,并创建一个动态数组来存放所有学生。然后你可以使用循环遍历数组来查找指定的学号。以下是一个简单的C语言程序示例:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
typedef struct {
char id[10]; // 学号
char name[20]; // 姓名
int c_language_score; // C语言成绩
} Student;
int main() {
const int num_students = 5;
Student students[num_students];
// 输入学生信息
for (int i = 0; i < num_students; i++) {
printf("请输入第%d位学生的学号、姓名及C语言成绩:\n", i + 1);
scanf("%s %s %d", students[i].id, students[i].name, &students[i].c_language_score);
}
// 输入查询的学号
char query_id[10];
printf("请输入要查询的学号: ");
scanf("%s", query_id);
// 遍历数组查找学生
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, query_id) == 0) {
printf("学号为 '%s' 的学生信息如下:\n", query_id);
printf("姓名: %s\n", students[i].name);
printf("C语言成绩: %d\n", students[i].c_language_score);
return 0; // 找到后直接结束程序
}
}
// 未找到学生时输出
printf("not found.\n");
return 0;
}
```
在这个程序中,我们首先定义了一个`Student`结构体来存储学生的相关信息。接着,在`main`函数中,我们创建了数组`students`并请求用户输入每个学生的信息。之后,用户被询问要查询哪个学号,然后我们遍历数组,如果找到匹配的学号就输出其详细信息,否则输出"not found"。
阅读全文