EduCoder-程序设计技术R(第二部分)- 第2关:不使用第3个变量,实现两个数的对调

任务描述

本关任务:下列程序是不用第三个变量,实现将两个数进行对调的操作。
程序代码如下:

1    #include<stdio.h>
2    int main(void)
3    {
4    int a,b;printf(“Enter a and b:);
5    scanf(%d%d”,&a,&b)6    printf(“a=%d b=%d\n”,a,b)7    a=    ①    ;b=    ②    ;a=     ③     ;
8    printf(“a=%d  b=%d\n”,a,b)9    return 0;
10    } 

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,并按照要求完成本关任务。

测试说明

平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
输入:3 4
输出:
a=3 b=4
a=4 b=3

输入:7 85
输出:
a=7 b=85
a=85 b=7

#include<stdio.h>
int main(void)
{  
  int a,b;
  //Enter a and b:
     scanf("%d%d",&a,&b); 
     printf("a=%d b=%d\n",a,b);
  /*********Begin*********/
  a = b-a;
   b = b-a;
   a = a+b;
  
  /*********End**********/
  printf("a=%d  b=%d\n",a,b);  
      return 0;
}

如果懂得一些位运算的知识的话,通过异或运算(^),即可完成。实现两数交换的代码如下:

a = a ^ b;
b = a ^ b;
a = a ^ b;
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值