輸入-& gt;輸出
ABC CBA-& gt;AB2CBA
CBA-& gt;中國男子籃球職業聯賽
我的代碼如下(c++):
# include & ltiostream & gt
# include & lt字符串& gt
使用命名空間std
int main(){
字符串str
int n,I,sum
scanf(“% d“,& ampn);
while(n-){
CIN & gt;& gtstr
int len = str . length();
if(len = = 1){ cout & lt;& ltstr & lt& ltendl繼續;}
sum = 1;
for(I = 1;我& ltleni++){
if(I = = len-1 ){
if(str【I】= = str【I-1】)cout & lt;& lt++ sum & lt;& ltstr【I】;
否則{
if(sum = = 1)cout & lt;& ltstr【I-1】& lt;& ltstr【I】;
else cout & lt& ltsum<& ltstr【I-1】& lt;& ltstr【I】;
}
打破;
}
if(str【I】= = str【I-1】)sum++;
否則{
if(sum = = 1)cout & lt;& ltstr【I-1】;
else cout & lt& ltsum<& ltstr【I-1】;
sum = 1;
}
}
cout & lt& ltendl
}
返回0;
}
說實話,我已經做了三次了,因為我的理解和妳壹樣。。。妳的代碼還有很多地方可以優化,比如b【I】= 65+I;它可以寫成b =‘A‘+I,這樣會占用更少的內存。希望對妳有幫助。