1. 编程题 使用函数来对结构体数组中的数据进行输入、查询、输出。
时间: 2024-03-15 14:45:37 浏览: 17
好的,这是一个编程题,我会尽力帮您解答。首先,我们需要定义一个结构体,它包含我们需要存储的数据。例如,我们定义一个包含学生姓名、学号、年龄和成绩的结构体:
```c
struct Student {
char name[20];
int id;
int age;
float score;
};
```
接下来,我们可以使用函数来对这个结构体数组中的数据进行输入、查询和输出。下面是一个示例代码,它包含了这三个功能的实现:
```c
#include <stdio.h>
#include <string.h>
struct Student {
char name[20];
int id;
int age;
float score;
};
void input(struct Student *stu, int n) {
int i;
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名、学号、年龄和成绩:", i + 1);
scanf("%s %d %d %f", stu[i].name, &stu[i].id, &stu[i].age, &stu[i].score);
}
}
void query(struct Student *stu, int n) {
int i, id;
printf("请输入要查询学生的学号:");
scanf("%d", &id);
for (i = 0; i < n; i++) {
if (stu[i].id == id) {
printf("姓名:%s\n学号:%d\n年龄:%d\n成绩:%f\n", stu[i].name, stu[i].id, stu[i].age, stu[i].score);
return;
}
}
printf("没有找到对应的学生!\n");
}
void output(struct Student *stu, int n) {
int i;
for (i = 0; i < n; i++) {
printf("第%d个学生的信息:\n", i + 1);
printf("姓名:%s\n学号:%d\n年龄:%d\n成绩:%f\n", stu[i].name, stu[i].id, stu[i].age, stu[i].score);
}
}
int main() {
struct Student stu[100];
int n;
printf("请输入学生人数:");
scanf("%d", &n);
input(stu, n);
query(stu, n);
output(stu, n);
return 0;
}
```
在这个示例代码中,我们定义了三个函数,分别用来实现输入、查询和输出功能。在 `input` 函数中,我们使用循环来逐个输入每个学生的信息,然后保存到结构体数组中。在 `query` 函数中,我们首先输入要查询的学生的学号,然后使用循环遍历结构体数组,查找对应学号的学生信息。如果找到了对应的学生,就输出其信息;否则,输出“没有找到对应的学生!”的提示。在 `output` 函数中,我们使用循环遍历结构体数组,逐个输出每个学生的信息。
当然,这只是一个简单的示例。您可以根据自己的实际需求来定义结构体和函数,并实现相应的功能。希望能对您有所帮助!