免費開始練習
地特三等申論題 108年 [資訊處理] 程式語言

第 四 題

四、試問下列程式碼的輸出為何?(25 分)
#include
#include

int main() {
int i, k1 = 0, k2 = 0, k3 = 0;
char a[] = "aA123bd45YH*#*";
for (i = 0; a[i] != '\0'; i++)
if ((a[i] >= 'a' && a[i] <= 'z') || (a[i] >= 'A' && a[i] <= 'Z'))
k1++;
else if ((a[i] >= '0') && (a[i] <= '9'))
k2++;
else
k3++;
printf("%d,%d,%d\n", k1, k2, k3);
system("pause");
return 0;
}
📝 此題為申論題

思路引導 VIP

看到這題,首先辨識迴圈與條件判斷(if-else)的邏輯,理解這是一個計算字串中「英文字母」、「數字」及「其他字元」數量的程式。接著逐步追蹤字串中的每個字元,並累加到對應的計數器變數,最後依據 printf 的格式得出輸出結果。

🤖
AI 詳解 AI 專屬家教

【解題思路】本題考查 C 語言字元陣列的走訪與條件判斷,透過迴圈與字元的 ASCII 範圍比較,分類統計字串中的字元類型。 【詳解】 已知字串:a[] = "aA123bd45YH*#*"

▼ 還有更多解析內容

🏷️ 相關主題

程式設計概念、語法與演算法分析
查看更多「[資訊處理] 程式語言」的主題分類考古題

📝 同份考卷的其他題目

查看 108年[資訊處理] 程式語言 全題