选夫婿2
Problem Description
? ? ? ?傾國傾城的大家閨秀潘小姐要選夫婿啦!武林中各門各派,武林外各大戶人家,聞訊紛紛前來,強勢圍觀。前來參與競選的男生藏龍臥虎,高手云集,才子遍布,帥哥紛紜,更不乏富二代,官二代,可謂聲勢空前。
?
? ? ? ?每個人參與競選的帥哥除了進行一段激情洋溢的求婚演講以外,還要報上自己姓名、身高,以及個人簡歷。最后再進行文武選拔,最后奪魁者方能得到潘小姐的芳心。
???????潘小姐不愛名利,只看人,第一關就是身高要合格,即必須在其要求的范圍內,否則直接排除在外,不允許參加下一輪的選拔。
???????作為一個程序員,你沒有錢也沒有權,擅長的也就是編程了。潘小姐也發現了這一點,所以把首輪根據身高進行選拔的任務交給了你,如果完成的好,你可以直接進入下一輪選拔,你笑了。
?
Input
? ? ? ?潘小姐給你了所有報名男生的信息。輸入數據的第一行是一個正整數N(0 < N < 100)。然后N行數據,每行包含兩部分,用空格隔開。第一部分是報名者的姓名name(長度小于20的字符串),然后是整數身高h(0 < h < 300)。最后一行是兩個整數a,b.表示身高的合格范圍是[a,b]。
Output
? ? ? ?你需要把合格的男生信息按照身高從低到高輸出,格式跟輸入一樣,也是每行兩個信息,共N行,若沒有合格人選則輸出No,具體格式見樣例。
Example Input
8 武大郎 70 西門慶 182 李逵 160 燕青 175 魯智深 195 武松 180 小泉純一狼 30 孫二娘 169 165 190Example Output
孫二娘 169 燕青 175 武松 180 西門慶 182 #include <stdio.h> #include <stdlib.h> struct node {char name[21];int h; }p[101],t,q[101]; int main() {int i,h,j=0,a,b,n,k;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s %d",p[i].name,&p[i].h);}scanf("%d %d",&a,&b);for(i=0;i<n;i++){if((p[i].h>=a)&&(p[i].h<=b)){q[j]=p[i];j++;}}for(i=0;i<j;i++)for(k=0;k<j-i-1;k++)if(q[k].h>q[k+1].h){t=q[k];q[k]=q[k+1];q[k+1]=t;}if(j==0)printf("No\n");elsefor(i=0;i<j;i++)printf("%s %d\n",q[i].name,q[i].h);return 0; }總結
- 上一篇: Linux常用指令2
- 下一篇: 理解 shared_ptr实现copy-