PTA 7-57 交换三个整数的次序

PTA 7-57 交换三个整数的次序

分数 10
作者 李泽林
单位 河北工程大学

本题目要求输入3个整数值a、b、c,把b中的值赋给a,把c中的值赋给b,把a中的值赋给c,最后输出a、b、c的值。

输入格式:
输入在一行中给出3个整数a、b、c,中间用空格隔开。

输出格式:
对每一组输入,在一行中输出交换后的a、b、c的值,中间用空格隔开。

输入样例:
4 5 6
输出样例:
5 6 4

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

代码:

方法1(使用中间变量):

#include <stdio.h>
int main(void){
    int intgr_a, intgr_b, intgr_c, cter_var;
    //定义整数intgr_a, intgr_b, intgr_c和中间变量cter_var
    scanf("%d %d %d", &intgr_a, &intgr_b, &intgr_c);
    cter_var = intgr_a;    //将第一个值赋给中间变量
    intgr_a = intgr_b;    //将第二个值赋给第一个值
    intgr_b = intgr_c;    //将第三个值赋给第二个值
    intgr_c = cter_var;    //最后将中间变量的值赋给第三个值
    printf("%d %d %d",intgr_a, intgr_b, intgr_c);    //最后输出
    return 0;
}

方法2-进阶(不使用中间变量):

此方法不要求掌握,因为可读性差。
如果想要学习可点击 位运算,进行阅读

#include <stdio.h>
int main(){
	int a ,b,c;
    scanf("%d %d %d",&a,&b,&c);
    b = b^a^c;
    a = b^a^c;
    c = b^c^a;
    b = b^a^c;
    printf("%d %d %d",a,b,c);
}

解题思路:

  1. 方法1:
    step1:定义一个中间变量
    step2:将第一个值赋给中间变量
    step2:将第二个值赋给第一个值
    step2:将第三个值赋给第二个值
    step2:最后将中间变量值赋给第三个值

归属知识点:
引入中间变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值