Test Message

b520: 樂透-商競103

內容

最近在練「高職的商業技藝競賽」題目,較「高中資訊學科競賽」簡單,適合初學者練習

今彩 539 是一種樂透投注遊戲,投注者必須從 01~39 的號碼中任選 5 個不同的號碼進行投注。為了方便投注者對獎,所以計算開獎號碼和投注者任選的 5 個不同號碼,用程式計算開獎號碼和投注者 5 個號碼,對中幾個號碼。


輸入

第一列的數字 n 代表有幾組資料要測試,1<=n<=5 。第二列起為測試資料。
每組測試資料中有二列,第一列 5 的數字,代表開獎號碼,第二列 5 的數字,投注者任選的 5 個不同號碼,各個號碼間以“, ”隔開。

3
01, 07, 28, 29, 30
01,07 , 29, 30, 36
22, 23,24,39 , 07
01,22 , 23, 24, 25
21 ,22, 23,24,32
01,02,03 , 04,05

輸出

計算每組測試資料中,開獎號碼和投注者的 5 個號碼,用程式計算投注者 5 個號碼中,有幾個號碼有開出。
例如在這組資料中:
01, 07, 28, 29, 30
01, 07, 29, 30, 36
輸出 4

例如在這組資料中:
21, 27, 29, 30, 35
01, 07, 29, 31, 37
輸出 1

例如在這組資料中:
21, 22, 23, 24, 32
01, 02, 03, 04, 05
輸出 0

4
3
0


解題思路

用 scanf() 自帶的格式化工具處理輸入,之後用迴圈判斷即可。


完整程式碼

AC (2ms, 112KB)
#include <stdio.h>

int main()
{
int n, lhs[5], rhs[5], count;
scanf(" %d", &n);
while (n--)
{
scanf(" %d , %d , %d , %d , %d", &lhs[0], &lhs[1], &lhs[2], &lhs[3], &lhs[4]);
scanf(" %d , %d , %d , %d , %d", &rhs[0], &rhs[1], &rhs[2], &rhs[3], &rhs[4]);
count = 0;
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (lhs[i] == rhs[j])
{
count++;
break;
}
}
}
printf("%d\n", count);
}
return 0;
}