HDU 1020(字符串转码)

来源:互联网 发布:网络发展前景 编辑:程序博客网 时间:2024/06/05 04:12
#include <iostream>#include <cstdio>#include <algorithm>#include <string>#include <cstring> using namespace std;const int MAXN = 10000 + 10;/*关键 : 数值转字符时, 记得大于10的数要转化为字符串而非字符*/int main(){int T;scanf("%d", &T);for(int i=0; i<T; i++){int cnt = 1;char str[MAXN], newstr[MAXN];memset(newstr,0,sizeof(newstr));scanf("%s", str);char ch, oldch;ch = oldch = *str;for(int j=1, k=0; 1 ; j++){ch = str[j];if( ch==oldch ){cnt++;}else{if( cnt>1 ){char tmpstr[MAXN];memset(tmpstr,0,sizeof(tmpstr));sprintf(tmpstr, "%d", cnt);strcat(newstr, tmpstr);k += strlen(tmpstr);//newstr[k++] = cnt+'0';}newstr[k++] = oldch;oldch = ch;cnt = 1;}if( ch==0 ){newstr[k++] = 0;break;} }cout << newstr << endl;}return 0;}

0 0
原创粉丝点击