c语言代码使用指针和函数的方式,查询自己的成绩。从键盘输入3位学生4门课程的成绩,输入学号,即可查询到自己各门课程的成绩
时间: 2024-03-16 19:43:44 浏览: 62
学生课程成绩查询系统(C语言)
好的,这个问题我可以为您提供下面这份 C 语言代码,通过指针和函数的方式查询自己的成绩:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENTS 100
#define MAX_GRADES 4
struct student {
int id;
int grades[MAX_GRADES];
};
void input(struct student *students, int n);
void output(struct student *students, int n);
void query(struct student *students, int n, int id);
int main() {
struct student students[MAX_STUDENTS];
int n, id;
printf("请输入学生人数(最大为 %d):", MAX_STUDENTS);
scanf("%d", &n);
input(students, n);
output(students, n);
printf("请输入您要查询的学号:");
scanf("%d", &id);
query(students, n, id);
return 0;
}
void input(struct student *students, int n) {
int i, j;
for (i = 0; i < n; i++) {
printf("请输入第 %d 个学生的学号和成绩:", i + 1);
scanf("%d", &(students[i].id));
for (j = 0; j < MAX_GRADES; j++) {
scanf("%d", &(students[i].grades[j]));
}
}
}
void output(struct student *students, int n) {
int i, j;
printf("学号\t科目1\t科目2\t科目3\t科目4\n");
for (i = 0; i < n; i++) {
printf("%d\t", students[i].id);
for (j = 0; j < MAX_GRADES; j++) {
printf("%d\t", students[i].grades[j]);
}
printf("\n");
}
}
void query(struct student *students, int n, int id) {
int i, j;
for (i = 0; i < n; i++) {
if (students[i].id == id) {
printf("您的成绩为:");
for (j = 0; j < MAX_GRADES; j++) {
printf("%d ", students[i].grades[j]);
}
printf("\n");
return;
}
}
printf("未查询到该学号的学生\n");
}
```
这个程序首先要求用户输入学生人数,然后通过 `input` 函数输入每个学生的学号和成绩,再通过 `output` 函数输出所有学生的成绩,最后通过 `query` 函数查询用户输入的学生学号对应的成绩。
阅读全文