这个代码怎么写啊关于结构体,学生互换信息的

 

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#include <string.h>
struct data
{
	int year;
	int month;
	int day;
};
struct stu
{
	int num;
	char name[20];
	char sex;
	struct data birth;
	float score;
};
int main()
{
	struct stu s1 = {10010,"zhangsan",'m',2000,5,4,84.5},s2,s3;
	printf("请输入学生2的学号:");
	scanf("%d",&s2.num);
	printf("请输入写生2的姓名:");
	scanf("%s",s2.name);
	printf("请输入学生2的性别:");
	scanf(" %c",&s2.sex);
	printf("请输入学生2的生日:");
	scanf("%d %d %d",&s2.birth.year,&s2.birth.month,&s2.birth.day);
	printf("请输入学生2的成绩:");
	scanf("%f",&s2.score);
	//交换
	s3 = s1;
	s1 = s2;
	s2 = s3;
	//输出s1和s2
	printf("学号:%d\n",s1.num);
	printf("姓名:%s\n",s1.name);
	printf("性别:%c\n",s1.sex);
	printf("出生日期:%d年%d月%d日\n",s1.birth.year,s1.birth.month,s1.birth.day);
	printf("成绩:%g\n",s1.score);
	printf("学号:%d\n",s2.num);
	printf("姓名:%s\n",s2.name);
	printf("性别:%c\n",s2.sex);
	printf("出生日期:%d年%d月%d日\n",s2.birth.year,s2.birth.month,s2.birth.day);
	printf("成绩:%g\n",s2.score);
	return 0;
}

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^