C程式 PAT 1059 C語言競賽

2021-09-16 20:26:11 字數 1675 閱讀 6601

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

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

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

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

思路:設計乙個函式,求n以內的素數;定義乙個陣列儲存id排名,再將輸入的id比較,就可以得到結果;分成各個功能模組去寫更容易理解。

#include #include const int n=10005;

int prime[n]=;

void find_prime();//查詢n以內的素數

int id_solve(int id,int n,int id[2]);//根據id得到排名

int solve(int rank);//查詢結果函式

int main( )

;//id[0]儲存id,id[1]標記是否被查詢過

find_prime();

scanf("%d",&n);

for(i=0;i

scanf("%d",&k);

for(i=0;i

if(solve(rank))

id[rank][1]++;//查詢到則自加

} return 0;

}void find_prime()//素數表

} prime[1]=1;

}int id_solve(int id,int n,int id[2])

return 0;

}int solve(int rank)

if(rank==1)//冠軍

if(!prime[rank])//排名為素數的學生

printf("chocolate\n");//其他人

return 1;

}

PAT 1059 C語言競賽

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

PAT 1059 C語言競賽 20

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

PAT 1059 C語言競賽 20

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