有3个学生的信息,放在结构体数组中,要求输出全部学生的信息。

解题思路:用指向结构体变量的指针处理
(1)声明struct Student,并定义结构体数组、初始化
(2)定义指向struct Student类型指针p
(3)使p指向数组首元素,输出元素中各信息
(4)使p指向下一个元素,输出元素中各信息
(5)再使p指向结构体数组的下一个元素,输出它指向的元素中的有关信息

#include <stdio.h>
struct Student{
 long int num;
 char name[15];
 char sex;
 int age; 
};
int main()
{
 struct Student stu[3]={
  {2019011,"Gras",'m',18},
  {2019022,"Shumf",'m',19},
  {2019023,"Skobcf",'f',20} 
 };
 struct Student *p=stu;
 for(;p<stu+3;p++){
  printf("学号为:%ld  姓名为:%s  性别为:%c  年龄为:%d\n",p->num,p->name,p->sex,p->age);
 }
}


结果显示:
学号为:2019011  姓名为:Gras  性别为:m  年龄为:18
学号为:2019022  姓名为:Shumf  性别为:m  年龄为:19
学号为:2019023  姓名为:Skobcf  性别为:f  年龄为:20
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用循环遍历结构体数组输出每个学生信息,例如:for (int i = 0; i < 3; i++) { printf("学生%d:%s %d\n", i+1, stu[i].name, stu[i].age); } ### 回答2: 要编写程序输出3个学生信息,可以使用结构体数组来保存学生信息。 首先,我们需要定义一个结构体来表示学生信息。每个学生信息包括姓名、年龄和学号。可以这样定义结构体: ```c typedef struct { char name[20]; int age; int studentId; } Student; ``` 接下来,我们创建一个包含3个学生结构体数组,并为每个学生信息赋值。可以通过循环来完成这个操作: ```c Student students[3]; for (int i = 0; i < 3; i++) { printf("请输入第 %d 个学生的姓名:", i+1); scanf("%s", students[i].name); printf("请输入第 %d 个学生的年龄:", i+1); scanf("%d", &students[i].age); printf("请输入第 %d 个学生的学号:", i+1); scanf("%d", &students[i].studentId); } ``` 最后,我们使用循环遍历结构体数组输出每个学生信息: ```c for (int i = 0; i < 3; i++) { printf("第 %d 个学生的姓名:%s\n", i+1, students[i].name); printf("第 %d 个学生的年龄:%d\n", i+1, students[i].age); printf("第 %d 个学生的学号:%d\n", i+1, students[i].studentId); } ``` 这样,程序就能输出全部学生信息了。 ### 回答3: 下面是一个用C语言编写的程序,用来存储3个学生信息,并输出所有学生信息: #include <stdio.h> // 定义学生结构体 struct Student { char name[20]; int age; float score; }; int main() { // 定义存储3个学生结构体数组 struct Student students[3]; // 输入学生信息 for (int i = 0; i < 3; i++) { printf("请输入第%d个学生的姓名:", i+1); scanf("%s", students[i].name); printf("请输入第%d个学生的年龄:", i+1); scanf("%d", &students[i].age); printf("请输入第%d个学生的分数:", i+1); scanf("%f", &students[i].score); } // 输出学生信息 printf("所有学生信息如下:\n"); for (int i = 0; i < 3; i++) { printf("姓名:%s 年龄:%d 分数:%.2f\n", students[i].name, students[i].age, students[i].score); } return 0; } 运行以上程序,会依次提示输入3个学生的姓名、年龄和分数,然后输出所有学生信息。每个学生信息包括姓名、年龄和分数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的小馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值