2064:交换值(信奥赛一本通)

本文介绍了一道简单的编程题目,即如何交换两个正整数的值,并提供了三种不同的实现方法:赋值法、数学法及函数法。此外,还提供了一个简单的“鸡肋法”,直接输出对方的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目跳转:点击这里

时间限制: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;
}

都能通过

希望这篇文章能对你有帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值