稳赢(2017年真题)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。
输入格式:
输入首先在第一行给出正整数K(<=10),即平局间隔的次数。随后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束,这一行不要作为出招处理。
输出格式:
对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。
输入样例:
2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End
输出样例:
Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu
代码如下:
#include
#include
int main()
{
int Search;
scanf("%d",&Search);
char ch[15];
int ti = 1;
while(scanf("%s",&ch),strcmp(ch,"End")!=0)
{
if(ti%(Search+1) == 0) printf("%s\n",ch);
else if(strcmp(ch,"Bu")==0)printf("JianDao\n");
else if(strcmp(ch,"ChuiZi")==0)printf("Bu\n");
else printf("ChuiZi\n");
ti++;
}
return 0;
}
输出GPLT
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“GPLTGPLT....”这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:
GPLTGPLTGLTGLGLL
代码如下:
#include
#include
#include
int main()
{
char a[10000],c[4]={'G','P','L','T'};
int i,len,q,w,e,r,b[4];
gets(a);
len=strlen(a);
q=w=e=r=0;
for(i=0;i
{
if(a[i]>='a' && a[i]<='z')
a[i]=a[i]-32;
if(a[i]=='G')
q++;
else
if(a[i]=='P')
w++;
else
if(a[i]=='L')
e++;
else
if(a[i]=='T')
r++;
}
b[0]=q;b[1]=w;b[2]=e;b[3]=r;
while(b[0]!=0 || b[1]!=0 || b[2]!=0 || b[3]!=0)
{
for(i=0;i<4;i++)
{
if(b[i]!=0)
{
printf("%c",c[i]);
b[i]--;
}
}
}
return 0;
}
情人节(2017年真题)