请编写程序将一个学生的信息初始化,另一个学生的信息从键盘输入,然后交换两个学生的信息,再输出交换后学生的信息。\n\n代码如下:
时间: 2023-09-13 16:04:43 浏览: 190
### 回答1:
非常愉快为您服务,以下是程序代码:
#include <stdio.h>
#include <string.h>
#define MAX_LEN 20
typedef struct {
char name[MAX_LEN];
int age;
char gender[MAX_LEN];
} Student;
void init(Student *s) {
strcpy(s->name, "张三");
s->age = 20;
strcpy(s->gender, "男");
}
void input(Student *s) {
printf("请输入学生姓名:");
scanf("%s", s->name);
printf("请输入学生年龄:");
scanf("%d", &s->age);
printf("请输入学生性别:");
scanf("%s", s->gender);
}
void swap(Student *a, Student *b) {
Student temp = *a;
*a = *b;
*b = temp;
}
void print(Student s) {
printf("姓名:%s\n", s.name);
printf("年龄:%d\n", s.age);
printf("性别:%s\n", s.gender);
}
int main() {
Student s1, s2;
init(&s1);
input(&s2);
printf("交换前:\n");
printf("学生1:\n");
print(s1);
printf("学生2:\n");
print(s2);
swap(&s1, &s2);
printf("交换后:\n");
printf("学生1:\n");
print(s1);
printf("学生2:\n");
print(s2);
return 0;
}
### 回答2:
```
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
string name;
int age;
string gender;
string major;
public:
// 构造函数,用于初始化学生信息
Student(string n, int a, string g, string m) {
name = n;
age = a;
gender = g;
major = m;
}
// 打印学生信息
void displayInfo() {
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "性别:" << gender << endl;
cout << "专业:" << major << endl;
}
// 交换学生信息
void swapInfo(Student& s) {
string tempName = name;
int tempAge = age;
string tempGender = gender;
string tempMajor = major;
name = s.name;
age = s.age;
gender = s.gender;
major = s.major;
s.name = tempName;
s.age = tempAge;
s.gender = tempGender;
s.major = tempMajor;
}
};
int main() {
// 初始化第一个学生的信息
Student student1("张三", 20, "男", "计算机科学");
// 从键盘输入第二个学生的信息
string name;
int age;
string gender;
string major;
cout << "请输入学生的姓名:" << endl;
cin >> name;
cout << "请输入学生的年龄:" << endl;
cin >> age;
cout << "请输入学生的性别:" << endl;
cin >> gender;
cout << "请输入学生的专业:" << endl;
cin >> major;
Student student2(name, age, gender, major);
// 交换两个学生的信息
student1.swapInfo(student2);
// 输出交换后的学生信息
cout << "交换后第一个学生的信息:" << endl;
student1.displayInfo();
cout << "交换后第二个学生的信息:" << endl;
student2.displayInfo();
return 0;
}
```
这段代码用到了一个Student类,其中包含私有的成员变量name、age、gender和major,以及公有的方法displayInfo用于打印学生的信息和swapInfo用于交换两个学生的信息。在main函数中,先初始化了一个学生的信息,然后通过键盘输入的方式获取第二个学生的信息,创建了两个学生对象student1和student2。然后调用student1的swapInfo方法对两个学生的信息进行交换,最后分别打印交换后的学生信息。
### 回答3:
这是一个Python的程序示例,用于初始化和交换两个学生的信息。
```python
# 初始化第一个学生的信息
student1 = {'姓名': '张三', '年龄': 18, '性别': '男'}
# 输入第二个学生的信息
name = input('请输入学生姓名:')
age = int(input('请输入学生年龄:'))
gender = input('请输入学生性别:')
# 初始化第二个学生的信息
student2 = {'姓名': name, '年龄': age, '性别': gender}
# 交换两个学生的信息
temp = student1.copy()
student1 = student2.copy()
student2 = temp.copy()
# 输出交换后学生的信息
print('交换后第一个学生的信息:')
print(f'姓名:{student1["姓名"]}')
print(f'年龄:{student1["年龄"]}')
print(f'性别:{student1["性别"]}')
print('交换后第二个学生的信息:')
print(f'姓名:{student2["姓名"]}')
print(f'年龄:{student2["年龄"]}')
print(f'性别:{student2["性别"]}')
```
程序首先使用字典初始化了第一个学生的信息,然后通过用户输入从键盘获取第二个学生的信息,并使用字典初始化第二个学生的信息。然后通过一个中间变量,将两个学生的信息进行交换,并最后打印出交换后的学生信息。
阅读全文