当前位置 : 主页 > 编程语言 > java >

ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输

来源:互联网 收集:自由互联 发布时间:2022-07-07
题目描述 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。 输入 两个数,空格隔开 输出 交换后的两个数,空格隔开


题目描述

定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

输入

两个数,空格隔开

输出

交换后的两个数,空格隔开

样例输入

1 2

样例输出

2 1

来源/分类

C语言

题目截图:

ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。_ios


思路:

看到宏定义,一下子就蒙啦。只好去百度它的含义啦!
就是在定义宏那里直接写一个函数!
#define change(a,b) {a+=b;b=a-b;a=a-b;}
这个b=a-b 必须放在前面!要不然就会影响后面的计算!
先把两个数加在一起。减去b就会得到原来的a值,将这个数值赋值给b就好啦!
之后,他们的和减去b就是a啦。a已经被改变啦。所以a要放在最后来求出来!

代码:

#include <iostream>
using namespace std;
#define change(a,b) {a+=b;b=a-b;a=a-b;}
char a[10000];
int main()
{
int x,y;
cin>>x>>y;
change(x,y);
cout<<x<<" "<<y;


}

代码截图:

ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。_ios_02


运行结果:

ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。_C语言-宏交换_03


OJ结果:

ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。_赋值_04


网友评论