#include #include using namespace std;

int main(){ string s; cin>>s; int len=s.length(); char last=s[0];//记录上一个字符 int count=1;//记录上一个字符出现的次数 for(int i=1;i<len;i++){ if(s[i]==last||s[i]==last+32||s[i]==last-32){//忽略大小写比较字符是否相等 count++; } else{ cout<<"("<<char(toupper(last))<<","<<count<<")";//输出上一个字符的压缩结果 last=s[i]; count=1; } } cout<<"("<<char(toupper(last))<<","<<count<<")";//输出最后一个字符的压缩结果 return 0; }

写一道C++题目:行程长度编码n题目描述n在数据压缩中一个常用的途径是行程长度压缩。对于一个待压缩的字符串而言我们可以依次记录每个字符及重复的次数。这种压缩对于相邻数据重复较多的情况比较有效。-例如如果待压缩串为AAABBBBCBB则压缩的结果是A3B4C1B2。当然如果相邻字符重复情况较少则压缩效率就较低。nn现要求根据输入的字符串得到大小写不敏感压缩后的结果即所有小写字母均视为相应的大写字母。nn输入格式n一个字符串长度大于0且不超过1000全部由大写或小写字母组成。nn输出格式n输出为一行

原文地址: https://www.cveoy.top/t/topic/p3O 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录