东华大学 2022 oj c++ 无超纲写法 选夫婿
oj c++ 无超纲写法 选夫婿
·
倾国倾城的大家闺秀潘小姐要选夫婿啦!武林中各门各派,武林外各大户人家,闻讯纷纷前来,强势围观。前来参与竞选的男生藏龙卧虎,高手云集,才子遍布,帅哥纷纭,更不乏富二代,官二代,可谓声势空前。
//大致思路,定义两个结构体,除了名字没啥区别,第一个用来输入,第二个用来输出
//写一下判断是否符合身高 体重条件的函数
//写一下自定义的排序函数,按照身高 体重
AC代码:
#include <bits/stdc++.h>
using namespace std;
struct husband
{
char name[25];
int h;
int w;
};
struct pass
{
char name[25];
int h;
int w;
};
int cmp(pass a,pass b)
{
if(a.h<b.h)return 1;
if(a.h==b.h &&a.w<b.w)return 1;
return 0;
}
int judge1(int n,int p,int q)//p q即为上界和下界,n为要传进来判断的数
{
if(n>=p&&n<=q)return 1;
return 0;
}
int judge2(int n,int p,int q)//p q即为上界和下界,n为要传进来判断的数
{
if(n>=p&&n<=q)return 1;
return 0;
}
int main()
{
//最后一行是四个整数a,b,c,d.
//表示身高的合格范围是[a,b],体重的合格范围是[c,d]
husband p[1050];
pass q[1050];
int n=0;
cin>>n;
for(int i=0;i<n;++i)
{
cin>>p[i].name>>p[i].h>>p[i].w;
}
int a,b,c,d;
cin>>a>>b>>c>>d;
bool flag=false;
int k=0;
for(int i=0;i<n;++i)
{
if(judge1(p[i].h,a,b)&&judge2(p[i].w,c,d))
{
// q[k].name=q[k].name;
strcpy(q[k].name,p[i].name);
q[k].h=p[i].h;
q[k].w=p[i].w;
flag=1;
++k;
}
}
sort(q,q+k,cmp);
if(flag==true)
{
for(int i=0;i<k;++i)
{
cout<<q[i].name<<" "<<q[i].h<<" "<<q[i].w<<endl;
}
}
else cout<<"No"<<endl;
return 0;
}
更多推荐
已为社区贡献7条内容
所有评论(0)