t081: T901(傳址呼叫)
標籤 : TQC 傳址呼叫
通過比率 : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2022-06-24 01:14

內容

設計說明:
(1) 開啟CPA06-1.c ,撰寫傳址呼叫的程式。請在主程式main()上,以scanf()函數輸入兩個整數 a、b,接著印出目前這兩個整數之值。
(2) 呼叫exchange()函數,此函數有兩個參數,分別為接收a,b變數位址的指標變數,並將此 a、b 兩個變數值對調。
(3) 印出呼叫exchange函數後的a.b變數值,輸出如執行結果三考畫面(1)。
(4) 開啟CPA06-2.c,撰寫傳址呼叫的程式 .請在主程式main()上,以scanf()函數輸入兩個浮點數 c、d,接著印出目前這兩個浮點數之值。
(5) 呼叫exchange()函數,此函數有兩個參數,分別為接收c、d變數位址的指標變數,並將此c、d兩個變數值對調。
(6) 印出呼叫exchange函數後的c、d變數值,輸出如執行結果三考畫面(2)。

此題原意為撰寫 2 支 c 程式,但因 judge 系統不做 2 支程式的處理,因此本題改成:
撰寫 2 支副程式 名稱分別為 exchangeInt 與 exchangeDouble,函數原形如下:
int exchangeInt(整數變數傳址模式,整數變數傳址模式);
double exchangeDouble(浮點數變數傳址模式,浮點數變數傳址模式);

主程式參考如下:
int main(){
    int a,b;
    double c,d;
    printf("請輸入兩個數字(數字跟數字之間請以空白間隔)");
    scanf("%d %d",&a,&b);

    printf("請輸入兩個浮點數字(數字跟數字之間請以空白間隔)");
    scanf("%lf %lf",&c,&d);

    printf("a:%d b:%d\n",a,b);
    exchangeInt(傳入a,b);
    printf("a:%d b:%d\n",a,b);

    printf("c:%d d:%d\n",c,d);
    exchangeDouble(傳入c,d);
    printf("c:%d d:%d\n",c,d);
}


輸入說明
輸出說明
範例輸入 #1
10 98
2.5 54.9
範例輸出 #1
請輸入兩個數字(數字跟數字之間請以空白間隔)10 98
請輸入兩個浮點數字(數字跟數字之間請以空白間隔)2.5 54.9
a:10 b:98
a:98 b:10
c:2.500000 d:54.900000
c:54.900000 d:2.500000
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
TQC 傳址呼叫
出處:
TQC 題庫081 [管理者: zero(管理員) ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」