ummm,一开始一直RE ,莫名其妙,后来发现他给的字符串检查长度在10000,我定义的只有1000
ummm,下面是修改后的AC代码
# include<iostream>
# include<string>
using namespace std;
char str[10002];
int main(void) {
int N, index, lenght, count;
char a;
cin >> N;
while (N--) {
cin >> str;
a = str[0];//拿到第一字符
count = 1;//初始化 1个 第一个字符
lenght = strlen(str);
if (lenght == 1)
cout << a << endl;
else {
for (index = 1; index < lenght+1; ++index) {// * 此处访问 \0 要不然最后一个字符串输出不出来
if (str[index] == a) {//一样个数加1
count++;
}
else {//不一样
if (count == 1) //前面的数和后面的数不一样,并且前面的数字只有1个
cout << a;
else //前面的数和后面的数不一样,并且前面的数字有多个
cout << count << a;
a = str[index];//拿到当前字符
count = 1;//count 初始化1个
}
}//for
cout << endl;
}
}
system("pause");
return 0;
}