Codebar 程式酒吧

一座輕鬆學習程式的酒吧

0%

a058. MOD3

題目連結

https://zerojudge.tw/ShowProblem?problemid=a058

解題思路

利用除以3之後的餘數判斷該數字是3k、3k+1還是3k+2,使用for迴圈讀取n個數字後,輸出其中3k、3k+1、3k+2的數量。

注意事項

switch()條件句是條件句之一。使用時,將想要判斷的數值或字元放在switch後面的括弧裡,並在case列出可能的情況,程式就會自動依據case指定的數字、字元或判斷句的情形,執行相對應的程式區塊。

程式碼:C語言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
int main() {
//宣告並讀取變數n,代表接下來有幾個數字要判斷
//宣告變數a、b、c,分別代表3k、3k+1、3k+2的數量
int n, a = 0, b = 0, c = 0;
scanf("%d", &n);
//用for迴圈針對n個輸入的數字作相對應的判斷
for(int i = 0 ; i < n ; i++) {
//宣告並讀取變數num,代表輸入的數字
int num;
scanf("%d", &num);
//依據num除3後的餘數,判斷其為3k、3k+1還是3k+2
switch(num%3) {
case 0:
a++;
break;
case 1:
b++;
break;
case 2:
c++;
break;
}
}
//輸出
printf("%d %d %d", a, b, c);
return 0;
}