转换字符串格式为原来字符串里的字符+该字符连续出现的个数,例如字符串1233422222,转化为1121324125(1出现1次,2出现1次,3出现2次……)。

#include<iostream>  

using namespace std;  

  

int main()  

{  

    char str[50];  

    char tmp;  

    int count = 0;  

    cin>>str;  

    char *p = str;  

    tmp = *p;  

    count++;  

    while(*(++p)!='\0')  

    {  

       if(*p == tmp)//如果当前读入的字符和正在统计的一样,那么出现次数要++  

       {  

             count++;  

             continue;  

       }  

       cout<<tmp<<count;//如果读入一个新的字符,就要把正在统计的字符频率输出,接下来开始统计新读入的字符的出现次数  

       tmp = *p;  

       count = 1;  

    }  

    cout<<tmp<<count;//因为读到'\0'循环退出,最后一个连续的字符序列没有输出,所以在这里追加输出  

    getchar();  

    getchar();  

    return 0;  

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值