题目跳转:点击这里
时间限制:1000 ms 内存限制:65536 KB
【题目描述】
输入两个正整数a和b,试交换a,b的值(使a的值等于b,b的值等于a)。
【输入】
输入两个正整数a和b。
【输出】
输出a与b交换值后的结果。
【输入样例】
2 3
【输出样例】
3 2
分析题目:
题目要求交换两个正整数交换的方法有很多 注意:以下的方法适用于将a,b的值交换,该题还有一种很***的方法
1,赋值法
int a=1,b=2,c=0;
c=a; a=b; b=c;
a=2,b=1;
2,数学法
int a=1,b=2;
a=a+b; b=a-b; a=a-b;
a=2;b=1;
3,函数法
int a=1;b=2;
swap(a,b);
a=2;b=1;
源程序:
通过以上3种方法可得以下三个程序
1,赋值法
#include <iostream>
using namespace std;
int main()
{
int a,b,c=0;
cin>>a>>b;
c=a; a=b; b=c;
cout<<a<<" "<<b<<endl;
return 0;
}
2,数学法
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
a=a+b; b=a-b; a=a-b;
cout<<a<<" "<<b;
return 0;
}
3,函数法
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
swap(a,b);
cout<<a<<" "<<b;
return 0;
}
等等等等还有一个鸡肋法
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<b<<" "<<a<<endl;
return 0;
}
都能通过
希望这篇文章能对你有帮助