KedaOJ P005交换a和b的值

本文介绍了一道简单的编程题目,要求交换两个整数a和b的值,给出了两种解法,包括使用第三个临时变量和直接赋值。同时提醒了避免的一种常见错误。
摘要由CSDN通过智能技术生成

最近有一点忙,我好久都没有更新了,今天来刷一到水题p005从数字上就知道是一到元老级的水题。话不多说题目奉上:

题目描述

交换 a 和 b 的值

输入格式

一行,两个整数a,b。

输出格式

一行,两个整数b,a,两个整数之间用空格隔开。

样例

输入数据 1

5 1

输出数据 1

1 5

数据范围与提示

a 和 b 保证在 int 范围内。

我只用亿种解法:

(1):假设我们要交换 a b 两个杯子里的水,那么我们就要借助第三个空杯子

首先将 a 杯子的水倒入 c 杯子,就是 c = a;

然后将 b 杯子的水倒入 a 杯子,就是 a = b;

最后要将原来a杯子也就是现在c杯子里的水,倒入 b 杯子,就是 b = c;

话不多说,代码奉上:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a, b, c;
    cin >> a >> b;
    c = a;
    a = b;
    b = c;
    cout << a << " " << b;
    return 0;
}

(2):最简单的方式

代码奉上:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a, b;
    cin >> a >> b;
    cout << b << " " << a;
    return 0;
}

 要注意的地方!

这一道题有一个大忌,就是不能写成这样:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a, b;
    cin >> a >> b;
    a = b;
    b = a;
    cout << a << " " << b;
    return 0;
}

如果写成这样,我们来分析一下这样会是哪样:这个代码先吧a,b输入,然后把a赋值给b,再把b赋值给a,这样有一个结果,当a赋值给b后,a=b,再赋值给a的话就还是a=b,所以是大忌。

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值