吉大秦少游
2018-11-29 13:03
采纳率: 60%
浏览 408

C++字符串处理:为何不能去掉s3=s1;这一句代码

如果去掉s3=s1;就会不能AC

 #include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
    string s1,s2,s3;    cin>>s1;
    int cnt=0,jinwei=0;
    for(cnt;cnt<10;cnt++){
        s2=s1;  //s2存储原来的字符串
        s3=s1;
        reverse(s1.begin() ,s1.end() ) ;    //s1逆转
        if(s1==s2){
            cout<<s1<<" is a palindromic number.";
            break;
        }   
        for(int i=0;i<s1.length() ;i++){
            s3[i]=(s1[i]-'0'+s2[i]-'0'+jinwei)%10+'0';
            jinwei=(s1[i]-'0'+s2[i]-'0'+jinwei)/10;
        } 
        reverse(s3.begin() ,s3.end() );
        if(jinwei)  s3='1'+s3;
        cout<<s2<<" + "<<s1<<" = "<<s3<<endl;
        s1=s3;
        jinwei=0;
    }
    if(cnt==10) cout<<"Not found in 10 iterations.";
    return 0;
} 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新