如何用C语言实现功能,让用户输入20个学生的信息(包括学号和成绩),然后能够通过键盘输入任意一个学号,查询该学生的成绩并将其打印出来?
时间: 2024-10-23 16:08:00 浏览: 30
c代码-从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名。
在C语言中,你可以使用结构体来存储学生的学号和成绩,数组来存放所有学生的信息,并使用循环结构来获取用户输入。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义学生信息结构体
typedef struct {
int student_id; // 学号
float score; // 成绩
} Student;
// 功能:获取用户输入并查找指定学生
void search_student(Student students[], int size) {
int id;
printf("请输入你要查询的学生学号:");
scanf("%d", &id);
for (int i = 0; i < size; i++) {
if (students[i].student_id == id) {
printf("学号 %d 的成绩是:%.2f\n", id, students[i].score);
return;
}
}
printf("未找到该学生的信息。\n");
}
int main() {
const int capacity = 20;
Student students[capacity]; // 存储学生信息
// 获取20个学生的信息
for (int i = 0; i < capacity; i++) {
printf("请输入第%d位学生的学号和成绩:", i + 1);
scanf("%d%f", &students[i].student_id, &students[i].score);
}
// 查询并打印学生成绩
search_student(students, capacity);
return 0;
}
```
在这个程序中,首先定义了一个`Student`结构体,然后在主函数中创建一个大小为20的`Student`数组。接着,通过循环读取每个学生的学号和成绩,并将它们存入数组中。最后,调用`search_student`函数来搜索和打印指定学号的成绩。
阅读全文