输入格式:
输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。
输出格式:
从左到右扫描输入的句子:如果句子中有超过 3 个连续的 6,则将这串连续的 6 替换成 9;但如果有超过 9 个连续的 6,则将这串连续的 6 替换成 27。其他内容不受影响,原样输出。
输入样例:
it is so 666 really 6666 what else can I say 6666666666
输出样例:
it is so 666 really 9 what else can I say 27
其实这道题非常简单,但是由于当时比赛的时候,有点着急,思路就很不清晰,导致了就过了部分测试点(我当时用了好多方法,把问题1想复杂了)。
回来后冷静的看了看题目,其实不难。所以做题一定不能慌啊!
#include<stdio.h>
#include<string.h>
int main()
{
int cnt=0;
char s[1010];
gets(s);
int k = strlen(s);
for(int i=0; i<=k; i++)
{
if(s[i]=='6') cnt++;
else
{
if(cnt>9) printf("27");
else if(cnt>3) printf("9");
else while(cnt--) printf("6");
cnt=0;
if(i==k) continue;
printf("%c", s[i]);
}
}
return 0;
}