1. 程式人生 > >十二週OJ(用巨集)輸出已交換後的兩個值

十二週OJ(用巨集)輸出已交換後的兩個值

問題及程式碼

/*
煙臺大學計算機與控制工程學院
檔名稱:(用巨集)輸出已交換後的兩個值
作    者:展一
完成時間:2016年11月17日
題目描述
 定義一個帶參的巨集(或者模板函式),帶有三個引數,
 第一個引數為型別,後兩個引數的值互換,並寫出程式,輸入兩個數作為使用巨集時的實參。輸出已交換後的兩個值。
輸入
兩個短整型數,空格隔開
兩個小數,空格隔開
兩個長整數,空格隔開
輸出
  交換後的兩個數,空格隔開
樣例輸入
 1 2
1.5 2.5
65535 2147483647
樣例輸出
2 1
2.5 1.5
2147483647 65535
*/
#include <stdio.h>
#define SWAP(T,m,n) {T s; s=m, m=n, n=s;}
/*只提交上面兩行*/

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;
}



執行結果


知識點總結

學習心得