1 #include2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 /* 8 问题检查函数 9 参数:输入的字符串10 返回:BOOL11 真表示为编码问题12 假表示为解码问题13 */14 bool check(string str){15 bool ok=true;16 for(int i=str.length()-1;i>=0;i--){17 if(str[i]>='0' && str[i]<='9'){18 ok=false;19 break;20 }21 }//遍历看字符串中是否含有数字22 return ok;23 }24 /*25 编码函数26 参数:待编码字符串27 返回:无28 */29 void bian(string str){30 str+='0';//给待编码的字符串加一个结束位’0‘31 string new_str="";//编码后的字符串32 int slen=str.length();33 char pre=str[0];//标记当前计算重复的字符34 int renum=0;//当前重复的个数35 for(int i=0;i "< <<'\n';51 cout<<"* 转换前长度为: "< <<'\n';52 cout<<"* 转换后长度为: "< <<'\n';53 cout<<"* 转换率为 : "< >num>>s){66 while(num--)new_str+=s;67 }68 cout<<"**********************************************\n";69 cout<<"* 你想的是把原来的数据解码,对吧?结果如下:\n";70 cout<<"* "< <<" ---> "< <<'\n';71 cout<<"* 解码前长度为: "< <<'\n';72 cout<<"* 解码后长度为: "< <<'\n';73 cout<<"* 解码率为 : "<