OJ系统新功能测试中,如有问题请联系 15864441230 17853533775 15684102985 17853533719 尽量不要在上课时间打电话

Problem 1056. -- C语言习题5.22--输出已交换后的两个值

1056: C语言习题5.22--输出已交换后的两个值

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1828  Solved: 967
[Submit][Status][Web Board]

Description

定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

Input

两个短整型数,空格隔开

两个小数,空格隔开

两个长整数,空格隔开

Output

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

Sample Input

1 2
1.5 2.5
65535 2147483647

Sample Output

2 1
2.5 1.5
2147483647 65535

HINT

 主函数已给定如下,提交时不需要包含,会自动添加到程序尾部



/* C++代码 */


int main()

{

    short int i1,i2;

    double d1,d2;

    long l1,l2;

    cin>>i1>>i2;

    SWAP(short int,i1,i2);

    cout<<i1<<" "<<i2<<endl;

    cin>>d1>>d2;

    SWAP(double,d1,d2);

    cout<<d1<<" "<<d2<<endl;

    cin>>l1>>l2;

    SWAP(long,l1,l2);

    cout<<l1<<" "<<l2<<endl;

    return 0;

}

/*c语言代码*/


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;


}


Source

[Submit][Status][Web Board]