Copyright (c) 2016,
烟台大学计算机与控制学院 All ringts reserved.
文件名称:OJ总结<5>-输出已交换后的两个值
作 者:王兴振
完成日期:2016年11月18日
版 本 号:未知
题目描述:
定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参
数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。
输 入:
两个短整型数,空格隔开
两个小数,空格隔开
两个长整数,空格隔开
输 出:
交换后的两个数,空格隔开
样例输入:
1 2
1.5 2.5
65535 2147483647
样例输出:
2 1
2.5 1.5
2147483647 65535
答 案:
#include<stdio.h>
#define SWAP(l,i,d) {l f;f=i,i=d,d=f;}
int
main()
{
short
int
i1,i2;
double
d1,d2;
long
l1,l2;
scanf
(
"%hd%hd"
,&i1,&i2);
SWAP(
short
int
,i1,i2);
printf
(
"%hd %hd\n"
,i1,i2);
scanf
(
"%lf%lf"
,&d1,&d2);
SWAP(
double
,d1,d2);
printf
(
"%g %g\n"
,d1,d2);
scanf
(
"%ld%ld"
,&l1,&l2);
SWAP(
long
,l1,l2);
printf
(
"%ld %ld\n"
,l1,l2);
return
0;
}
总 结:
宏定义一个函数,只要注意好,这个题很容易作对。