首页 > 代码库 > 华为机考--字符串压缩
华为机考--字符串压缩
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".
2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 char s[50]; 6 int sCount; 7 int i; 8 while(cin>>s) 9 {10 sCount=1;11 for (i=0;s[i];i++)12 {13 if (s[i]==s[i+1])14 {15 sCount++;16 } 17 else18 {19 if (sCount==1)20 {21 cout<<s[i];22 } 23 else24 {25 cout<<sCount<<s[i];26 }27 sCount=1;28 }29 }30 cout<<endl;31 }32 return 0;33 }
运行结果:
华为机考--字符串压缩
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。