1.到底是不是太胖了:据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知 1 公斤等于 2 市斤。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
int n,i,x,y,m;
cin>>n;
for(i=0;i<n;i++)
{
cin>>x>>y;
m=(x-100)*0.9*2;
if(fabs(m-y)<m*0.1) cout<<"You are wan mei!";
else if(m>y) cout<<"You are tai shou le!";
else cout<<"You are tai pang le!";
cout<<endl;
}
return 0;
}
2.输出GPLT:给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....
这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT
的顺序打印,直到所有字符都被输出。
#include<iostream>
#include <string>
using namespace std;
int main()
{
string arr;
int i=0,j=0,k=0,l=0,n,m;
char c[4]={'G','P','L','T'};
cin>>arr;
n=arr.size();
for(m=0;m<n;m++)
{
if(arr[m]=='G'||arr[m]=='g') i++;
if(arr[m]=='P'||arr[m]=='p') j++;
if(arr[m]=='L'||arr[m]=='l') k++;
if(arr[m]=='T'||arr[m]=='t') l++;
}
while(i+k+j+l!=0)
{
if(i>0)
{
cout<<'G';
i--;
}
if(j>0)
{
cout<<'P';
j--;
}
if(k>0)
{
cout<<'L';
k--;
}
if(l>0)
{
cout<<'T';
l--;
}
}
return 0;
}
3.帅到没朋友:
输入第一行给出一个正整数N
(≤100),是已知朋友圈的个数;随后N
行,每行首先给出一个正整数K
(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M
(≤10000),为待查询的人数;随后一行中列出M
个待查询的ID,以空格分隔。
注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。虽然有个别自恋狂会自己把自己反复加进朋友圈,但题目保证所有K
超过1的朋友圈里都至少有2个不同的人。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,m,i,j,p,q,a[10000],b=0;
long arr[100000],k,l;
for(l=0;l<100000;l++)
{
arr[l]=0;
}
cin>>n;
for(i=0;i<n;i++)
{
cin>>m;
for(j=0;j<m;j++)
{
cin>>k;
if(m!=1) //题目保证所有n超过1的朋友圈里都至少有2个不同的人
arr[k]++;
}
}
cin>>p;
for(i=0;i<p;i++)
{
cin>>q;
if(arr[q]==0)
{
a[b++]=q;
arr[q]=1; //表示已经存在这个人
}
}
for(i=0;i<b;i++)
{
printf("%05d",a[i]);
if(i!=b-1) cout<<' ';
}
if(!b) cout<<"No one is handsome";
return 0;
}