結構體-*選夫婿1

HowieLee59發表於2019-03-23

Problem Description

    傾國傾城的大家閨秀潘小姐要選夫婿啦!武林中各門各派,武林外各大戶人家,聞訊紛紛前來,強勢圍觀。前來參與競選的男生藏龍臥虎,高手雲集,才子遍佈,帥哥紛紜,更不乏富二代,官二代,可謂聲勢空前。

    每個人參與競選的帥哥除了進行一段激情洋溢的求婚演講以外,還要報上自己姓名、身高和體重,以及個人簡歷。最後再進行文武選拔,最後奪魁者方能得到潘小姐的芳心。

       潘小姐不愛名利,只看人,第一關就是身高和體重要合格,即必須在其要求的範圍內,否則直接排除在外,不允許參加下一輪的選拔。

       作為一個程式設計師,你沒有錢也沒有權,擅長的也就是程式設計了。潘小姐也發現了這一點,所以把首輪根據身高體重進行選拔的任務交給了你,如果完成的好,你可以直接進入下一輪選拔,你笑了。

Input

        潘小姐給你了所有報名男生的資訊。輸入資料的第一行是一個正整數N(0 < N < 1000)。然後N行資料,每行包含三部分,用空格隔開。第一部分是報名者的姓名name(長度小於20的字串),然後是整數身高h(0 < h < 300),第三部分是整數體重w (0 < w < 200)。

最後一行是四個整數a,b,c,d.表示身高的合格範圍是[a,b],體重的合格範圍是[c,d](0 < a < b < 200, 0 < c < d < 300)。

 

Output

        你需要把合格的男生資訊按照身高從低到高輸出,格式跟輸入一樣,也是每行三個資訊,共N行,如果身高相同則按體重從輕到重輸出,若沒有合格人選則輸出No,具體格式見樣例。

 

Sample Input

8
武大郎 70 40
西門慶 180 70
李逵 160 150
燕青 175 69
魯智深 180 100
武松 180 75
小泉純一狼 30 20
孫二孃 169 60
165 190 60 90

Sample Output

孫二孃 169 60
燕青 175 69
西門慶 180 70
武松 180 75

Hint

 

Source

tongjiantao

#include<stdio.h>
#include<string.h>
struct alon
{
	char name[1001];
	int h,w;
}str1[10001],t;
int main()
{
	int n,i,j,h,h1,h2,w1,w2,flag=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d %d",str1[i].name,&str1[i].h,&str1[i].w);
	}
	scanf("%d %d %d %d",&h1,&h2,&w1,&w2);
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-i-1;j++)
 
			if(str1[j].h>str1[j+1].h)
			{
				t=str1[j];
				str1[j]=str1[j+1];
				str1[j+1]=t;
			}
			else if(str1[j].h==str1[j+1].h)
			{
				if(str1[j].w>str1[j+1].w)
				{
					t=str1[j];
					str1[j]=str1[j+1];
					str1[j+1]=t;
				}
 
		}
	}
	for(i=0;i<n;i++)
	{
		if(str1[i].h>=h1&&str1[i].h<=h2&&str1[i].w>=w1&&str1[i].w<=w2)
		{
			printf("%s %d %d\n",str1[i].name,str1[i].h,str1[i].w);
			flag=1;
		}
	}
		if(flag==0)
		printf("No\n");
 
	return 0;
}

 

相關文章