地特三等申論題
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*#*"
▼ 還有更多解析內容