阿摩線上測驗 登入

申論題資訊

試卷:107年 - 107 身心特考_四等_資訊處理:程式設計概要#68998
科目:程式設計
年份:107年
排序:0

題組內容

一、假設已經將變數 int nMonth 的值設定成介於 1~12 間的整數,用來代表 2018 年的某一 月份,亦即 nMonth 為 1 時,代表一月、nMonth 為 2 時,代表二月…依此類推。請依 下列各子題要求分別撰寫出程式片段,在變數 int nDays 中計算出 nMonth 月的天數。 例如 nMonth 是 1 時,nDays 應該是 31;nMonth 是 2 時,nDays 應該是 28。作答時可 以使用 C/C++、Java 或 C#其中任何一種語言作答,但必須註明所採用語言。

申論題內容

⑴使用 if…else if…else…。(10 分)

詳解 (共 3 筆)

詳解 提供者:白龍@菜鳥公務員(107/10/29)

C++為例,其中nMonth因為已由題目設定故不加以定義:

#include<stdlib.h>

int nDays;

int main(){

 if(nMonth==2) return nDays=28;

  else if(nMonth==1||nMonth==3||nMonth==5||nMonth==7||nMonth==8||    nMonth==10||nMonth==12) return nDays=31;

   else return nDays=30;

return 0;

}

詳解 提供者:hchungw

#include <stdio.h>

 

int main() {

    int nMonth = 5; // 假設月份是 5

    int nDays;

 

    if (nMonth == 1 || nMonth == 3 || nMonth == 5 || nMonth == 7 || nMonth == 8 || nMonth == 10 || nMonth == 12) {

        nDays = 31;

    } else if (nMonth == 4 || nMonth == 6 || nMonth == 9 || nMonth == 11) {

        nDays = 30;

    } else if (nMonth == 2) {

        nDays = 28; // 2018年不是閏年,所以2月是28

    } else {

        // 為了安全起見,如果nMonth不在112的範圍內,可以設定nDays為一個錯誤值

        nDays = -1;

    }

 

    printf("Month: %d has %d days\n", nMonth, nDays);

 

    return 0;

}

在這個程式碼中,我們檢查了 nMonth 是否為大多數月份的天數(31天)、小月的天數(30天)或者是否為二月(28天)。如果 nMonth 的值不在112的範圍內,nDays 將被設置為 -1,表示錯誤。

詳解 提供者:Ron Zhong
int