蓝桥杯 数据交换 C++算法训练 HERODING的蓝桥杯之路

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
  编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。
  输入格式:输入只有一行,包括两个整数。
  输出格式:输出只有一行,也是两个整数,即交换以后的结果。
  要求:主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负责交换变量的值,不能输出交换后的结果。
输入输出样例
样例输入
4 7
样例输出
7 4

解题思路:
用引用的方法可以破解在函数中交换不了变量的问题,因为引用交换的是变量本身,而不是变量的替身。代码如下:

#include<bits/stdc++.h>

using namespace std;

void swap(int &x,int &y){
	int temp = x;
	x= y;
	y = temp;
}

int main(){
	int x, y;
	cin >> x >> y;
	swap(x,y);
	cout << x << " " << y;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/HERODING23/article/details/106392621