1059 C語言競賽 20 分

2021-09-19 23:18:20 字數 1584 閱讀 3097

c 語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽:

0、冠軍將贏得乙份「神秘大獎」(比如很巨大的一本學生研究**集……)。

1、排名為素數的學生將贏得最好的獎品 —— 小黃人玩偶!

2、其他人將得到巧克力。

給定比賽的最終排名以及一系列參賽者的 id,你要給出這些參賽者應該獲得的獎品。

輸入第一行給出乙個正整數 n(≤104 ),是參賽者人數。隨後 n 行給出最終排名,每行按排名順序給出一位參賽者的 id(4 位數字組成)。接下來給出乙個正整數 k 以及 k 個需要查詢的 id。

對每個要查詢的 id,在一行中輸出 id: 獎品,其中獎品或者是 mystery award(神秘大獎)、或者是 minion(小黃人)、或者是 chocolate(巧克力)。如果所查 id 根本不在排名裡,列印 are you kidding?(耍我呢?)。如果該 id 已經查過了(即獎品已經領過了),列印 id: checked(不能多吃多占)。

6

1111

6666

8888

1234

5555

0001

68888

0001

1111

2222

8888

2222

8888: minion

0001: chocolate

1111: mystery award

2222: are you kidding?

8888: checked

2222: are you kidding?

#include

#include

#include

#define maxn 10010

struct nums1[maxn]

;int

prime

(int n)

if(i>x)

return1;

else

return0;

}int

main()

int id1,k;

scanf

("%d"

,&k)

;for

(int i=

0; i)else

if(id1==s1[0]

.id&&s1[0]

.flag==0)

int j;

for( j=

1; j)else

printf

("%04d: chocolate\n"

,id1)

;s1[j]

.flag=0;

break;}

else

printf

("%04d: checked\n"

,id1)

;break

;break;}

}if(j==n)

printf

("%04d: are you kidding?\n"

,id1);}

return0;

}

1059 C語言競賽(20分)

c語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽 冠軍將贏得乙份 神秘大獎 比如很巨大的一本學生研究 集 排名為素數的學生將贏得最好的獎品 小黃人玩偶!其他人將得到巧克力。給定比賽的最終排名以及一系列參賽者的id,你要給出這些參賽者應該獲得的獎品。...

1059 C語言競賽 (20 分)

1059 c語言競賽 20 分 c 語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽 給定比賽的最終排名以及一系列參賽者的 id,你要給出這些參賽者應該獲得的獎品。輸入第一行給出乙個正整數 n 10 4 是參賽者人數。隨後 n 行給出最終排名,每行按...

1059 C語言競賽 20 分

問題 之前是輸入乙個就給出結果,但是不知道為什麼格式錯誤,在網上查有個人也是邊輸入邊給結果,我之後的改法是,用了乙個結構體來儲存答案 本題我的思路是,用乙個結構體來陣列來存放id還有乙個標誌flag來判斷是否查詢過和排名 根據迴圈的次數 1,從0開始 下乙個迴圈來對輸入的id進行查詢,我設定在要注意...