L1-058 6翻了 (15 分)

简介: L1-058 6翻了 (15 分)

b5b732d02ddf7372758dbc4d1f4d3dd1.jpg

“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!


本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。


输入格式:

输入在一行中给出一句话,即一个非空字符串,由不超过 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

结尾无空行


#include<iostream>
using namespace std;
int main()
{
    string s;
    getline(cin,s);
    for(int i=0;i<s.size();i++)
    {
        if(s[i]=='6')
        {
            int k=1;
            while(s[i+k]=='6') k++;//记录6的个数
            if(k>9) cout<<"27",i=i+k-1;//i指针后移
            else if(k>3) cout<<"9",i=i+k-1;
            else
            {
                i=i+k-1;
                while(k--) cout<<"6";
            }
        }
        else cout<<s[i];
    }
    return 0;
}



目录
相关文章
L1-058 6翻了 (15 分)(while的巧妙使用)
L1-058 6翻了 (15 分)(while的巧妙使用)
66 0
|
6月前
|
Java
小明买了一堆桃子,不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到n天只剩下一个桃子了。问:最开始买了多少桃子。(使用Java实现)
小明买了一堆桃子,不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到n天只剩下一个桃子了。问:最开始买了多少桃子。(使用Java实现)
107 0
|
BI
7-7 6翻了
7-7 6翻了
93 0
|
算法
费解的开关/翻硬币
费解的开关/翻硬币
121 0
|
存储 机器学习/深度学习
二叉树详解一万字(基础版)看着一篇就够了(上))
树的结构是一种非线性的数据结构,它是由n(n>=0)个节点组成的一个有层次的关系集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说他是根朝上,而叶朝下。
140 0
二叉树详解一万字(基础版)看着一篇就够了(下)
对于堆的调整相当于是对数组的一种调整,将数组的首地址传进来,要调整的数组的长度,相当于是退出的循环条件,向下传给进来parent(root),向上传给child(size-1),然后再用一个表示另外一个。将参数传进来之后进行比较,先比较两个孩子,找出小的那个,然后交换较小孩子和双亲节点,在比较左右孩子的时候要保证右孩子也存在才可以进行比较,就是child+1<size,原因就是这里是堆,是完全二叉树
60 0
|
设计模式 缓存 前端开发
最近一个月把大厂面了个遍,还未上岸……
本文由我的读者小伙伴 sensFeng 投稿,这一个月他面了很多家大公司,这份面试经验对最近正在准备找工作的小伙伴可以说是非常有参考价值了,在文章中他也给出了他整理的答案,诚意满满!
L1-019 谁先倒 (15 分)
L1-019 谁先倒 (15 分)
87 0
|
算法 测试技术
1003 我要通过! (20 分)
1003 我要通过! (20 分)