题目概述:
实现字符串简单压缩(只将字符串中连续出现的重复字母进行压缩)
例如:aabbbbcccd 压缩后输出为:2a4b3c1d
若输入:abcabc 由于相同字符没有连续出现,则输出:1a1b1c1a1b1c
代码:
#include <iostream>
#include <cstring>
using namespace std;
void fun(char s[]) { //r如果字符不为空
int num=1;
int i=0;
while(s[i]!='\0'){
if(s[i]==s[i+1]){
num++; //计数加一
i++; //指针后移
}
else{
cout<<num<<s[i]; //如果字符不相等,输出
num=1; //num重置为1,再计算下一种字符的个数
i++; //指针后移
}
}
}
int main(){
char s[50];
cout<<"请输入字符串:";
cin>>s;
fun(s);
return 0;
}