使用C语言,在学生信息表中录入信息并进行查询。要求录入N条学生的信息,包括:学号(8位),姓名(小于10个字符),3门功课成绩。 录入完毕后,输入一个学生姓名进行查询,并输出查询结果。如果查询到相应的记录,则显示学生信息,包括:学号,姓名,3门功课成绩和总分。如果没有查询到相关记录,则输出Not found!
时间: 2024-03-25 22:41:44 浏览: 200
学生成绩查询系统(c语言)
好的,下面是使用C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
typedef struct {
char id[9];
char name[11];
int score[3];
int total_score;
} Student;
int main() {
int n;
Student students[MAX_STUDENT_NUM];
printf("请输入学生数量:");
scanf("%d", &n);
// 录入学生信息
for (int i = 0; i < n; i++) {
printf("请输入学生%d的学号:", i+1);
scanf("%s", students[i].id);
printf("请输入学生%d的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入学生%d的三门功课成绩:", i+1);
scanf("%d%d%d", &students[i].score[0], &students[i].score[1], &students[i].score[2]);
students[i].total_score = students[i].score[0] + students[i].score[1] + students[i].score[2];
}
// 查询学生信息
char query_name[11];
printf("请输入要查询的学生姓名:");
scanf("%s", query_name);
int found = 0; // 标记是否查询到记录
for (int i = 0; i < n; i++) {
if (strcmp(students[i].name, query_name) == 0) { // 找到对应的学生记录
printf("学号:%s,姓名:%s,三门功课成绩:%d %d %d,总分:%d\n", students[i].id, students[i].name,
students[i].score[0], students[i].score[1], students[i].score[2], students[i].total_score);
found = 1;
break;
}
}
if (!found) {
printf("Not found!\n");
}
return 0;
}
```
注:该代码中使用了结构体(`struct`)来表示学生信息,使用了字符串(`char`)来存储学号和姓名,使用了数组(`array`)来存储成绩。使用 `strlen()` 函数来获取字符串长度,使用 `strcmp()` 函数来比较两个字符串是否相等。
阅读全文