定义⼀个结构体student,存储学⽣的学号、名字、性别和年龄,读⼊每个学⽣
的所有信息,保。。。
考点:结构体数组,指针,字符串
定义⼀个结构体student,存储学⽣的学号、名字、性别和年龄,读⼊每个学⽣的所有信息,保存在结构体中,并输出。结构体student的定义如下:
struct student {
int num;
char name[20];
char sex;
int age;
};
本题要求使⽤指向结构体数组的指针进⾏输⼊和输出。
样例输⼊ :
3
10101 LiLin M 18
10102 ZhangFun M 19
10104 WangMin F 20
样例输出 :
10101 LiLin M 18
2021年3月20日新闻联播10102 ZhangFun M 19
10104 WangMin F 20
注意点(重点):当要连续输⼊⼀个字符串和⼀个字符时,输⼊前⼀个字符串后的空格既标识了前⼀个字符串输⼊结束,⼜被后⼀个字符所吸收,所以要在两者之间加⼀个getchar()来吸收空格
#include<stdio.h>
struct student {
int num;
char name[20];
char sex;
清明谚语int age;
}stu[20],*p;
int main()
{
p=stu;
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;++i)
{
六级分数分配明细scanf("%d",&(p+i)->num);
scanf("%s",&(p+i)->name);
getchar();//吸收空格
scanf("%c",&(p+i)->sex);
scanf("%d",&(p+i)->age);
}
for(i=0;i<n;++i)
2022年清明节是几月几号{
printf("%d ",(p+i)->num);
基金分红是好事还是坏事
printf("%s ",(p+i)->name);
printf("%c ",(p+i)->sex);
printf("%d\n",(p+i)->age);
}
return0;
}
然后没过多久我就发现不⽤这么⿇烦,直接在scanf⾥加空格即可。
结论:为了⽅便记忆,凡是在键盘上输⼊的空格、换⾏符都在scanf中表现出来。这样可以防⽌出现错误修改简化后的代码:
#include<stdio.h>
struct student {
int num;
char name[20];
char sex;
int age;
}stu[20],*p;
int main()
{
p=stu;
int n,i,j;
scanf("%d\n",&n);二手车过户费用
for(i=0;i<n;++i)
{
scanf("%d %s %c %d",&(p+i)->num,&(p+i)->name,&(p+i)->sex,&(p+i)->age);
}
for(i=0;i<n;++i)
{
printf("%d %s %c %d\n",(p+i)->num,(p+i)->name,(p+i)->sex,(p+i)->age);
}
return0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论