第十二周 oj训练 输出已交换后的两个值

来源:互联网 发布:java executorservice 编辑:程序博客网 时间:2024/06/07 10:45
Copyright (c) 2016 烟台大学计算机与控制工程学院All rights reserved.文件名称:test.cpp作者:何定钦完成日期:2016年11月22日题目描述:    定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,    后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。输入:    两个短整型数,空格隔开    两个小数,空格隔开    两个长整数,空格隔开输出:    交换后的两个数,空格隔开样例输入:    1 2    1.5 2.5    65535 2147483647样例输出:    2 1    2.5 1.5    2147483647 65535分析:#include <stdio.h>#include <stdlib.h>#define SWAP(z,x,y) x=x+y,y=x-y,x=x-yint 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;}

结果:


知识点总结:

初步学习了宏定义,并进行使用。

心得体会:

宏定义可以在某些情况下极大的减少程序错误,并且便于修改。

0 0