某组有五个学生,每个人有一条学生信息,学生信息包括学号、姓名、性别和入学分数。设计一个程序,输入学生信息,再通过指针方式输出这些信息。
时间: 2023-04-25 22:01:37 浏览: 145
可以设计一个结构体来存储学生信息,包括学号、姓名、性别和入学分数。然后定义一个指向该结构体的指针数组,用来存储每个学生的信息。程序可以通过循环输入每个学生的信息,然后将指针数组指向对应的结构体,最后通过指针方式输出这些信息。
具体实现可以参考以下代码:
```
#include <stdio.h>
// 定义学生信息结构体
struct Student {
int id; // 学号
char name[20]; // 姓名
char gender; // 性别
float score; // 入学分数
};
int main() {
int i;
struct Student students[5]; // 存储学生信息的结构体数组
struct Student *ptr_stu[5]; // 存储学生信息结构体指针的数组
// 循环输入每个学生的信息
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("性别:");
scanf(" %c", &students[i].gender);
printf("入学分数:");
scanf("%f", &students[i].score);
// 将指针数组指向对应的结构体
ptr_stu[i] = &students[i];
}
// 通过指针方式输出每个学生的信息
printf("\n学生信息如下:\n");
for (i = 0; i < 5; i++) {
printf("学号:%d,姓名:%s,性别:%c,入学分数:%.2f\n",
ptr_stu[i]->id, ptr_stu[i]->name, ptr_stu[i]->gender, ptr_stu[i]->score);
}
return 0;
}
```