请写一段c语言代码,利用函数的方法,输入学号查询学生成绩
时间: 2024-04-03 10:34:25 浏览: 57
已知一个链表,现编写一个函数search(),要求根据输入的学生学号,输出他的各科成绩。
3星 · 编辑精心推荐
好的,以下是一段c语言代码,用于根据输入的学号查询学生成绩:
```
#include <stdio.h>
#include <stdlib.h>
// 定义一个结构体用来存储学生信息
struct student {
int id; // 学号
char name[20]; // 姓名
float score; // 成绩
};
// 定义一个函数用来查询学生成绩
float get_score(int id, struct student *students, int n) {
for (int i = 0; i < n; i++) {
if (students[i].id == id) {
return students[i].score;
}
}
return -1; // 如果找不到对应的学生,则返回-1
}
int main() {
struct student students[] = {
{1001, "张三", 89},
{1002, "李四", 92},
{1003, "王五", 78},
{1004, "赵六", 85},
{1005, "钱七", 91}
};
int n = sizeof(students) / sizeof(students[0]);
int id;
printf("请输入学号:");
scanf("%d", &id);
float score = get_score(id, students, n);
if (score == -1) {
printf("找不到对应的学生!\n");
} else {
printf("学号为%d的学生的成绩是%.2f\n", id, score);
}
return 0;
}
```
该代码定义了一个结构体`student`用来存储学生信息,其中包括学号、姓名和成绩。然后定义了一个函数`get_score`,该函数接受学号、学生数组和数组长度作为参数,返回对应学号的学生的成绩。在`main`函数中,先定义了一个包含学生信息的数组,然后从用户输入中获取学号,并调用`get_score`函数查询对应学号的学生的成绩。如果找不到对应的学生,则返回-1。最后根据查询结果输出相应的提示信息。
阅读全文