用C语言编写 任务:请编写程序将一个学生的信息初始化,另一个学生的信息从键盘输入,然后交换两个学生的信息,再输出交换后学生的信息。
时间: 2023-07-06 18:29:38 浏览: 45
好的,我理解了你的问题。以下是用C语言编写的程序,可以实现你的需求:
```c
#include <stdio.h>
#include <string.h>
struct student {
char name[20];
int age;
char sex;
};
int main() {
struct student stu1, stu2, temp;
// 初始化学生1的信息
strcpy(stu1.name, "张三");
stu1.age = 20;
stu1.sex = 'M';
// 输入学生2的信息
printf("请输入学生2的姓名:");
scanf("%s", stu2.name);
printf("请输入学生2的年龄:");
scanf("%d", &stu2.age);
printf("请输入学生2的性别(M/F):");
scanf(" %c", &stu2.sex);
// 交换两个学生的信息
temp = stu1;
stu1 = stu2;
stu2 = temp;
// 输出交换后的学生信息
printf("交换后,学生1的信息为:\n");
printf("姓名:%s\n", stu1.name);
printf("年龄:%d\n", stu1.age);
printf("性别:%c\n", stu1.sex);
printf("交换后,学生2的信息为:\n");
printf("姓名:%s\n", stu2.name);
printf("年龄:%d\n", stu2.age);
printf("性别:%c\n", stu2.sex);
return 0;
}
```
程序中使用了结构体来表示学生的信息,通过strcpy函数对学生1的信息进行初始化,通过scanf函数从键盘输入学生2的信息,然后通过一个临时变量temp来交换两个学生的信息,最后输出交换后的学生信息。注意,在输入学生2的性别时,要在%c前面加一个空格,以避免scanf函数读取上一次输入的回车符。