问题标题: 酷町堂:1103

1
1
汪天琦
汪天琦
初级光能
初级光能

#include<bits/stdc++.h>

using namespace std;

string s;

bool f;

int main(){

    cin>>s;

    if(s[0]=='-'){

        cout<<"-";

        s.erase(0,1);

    }

    for(int i=s.size()-1;i>=0;i--){

        if(s[i]!='0'){

            cout<<s[i];

            f=1;

        }

    }

    if(f==0){

        cout<<"0";

    }

    return 0;

}

60分

大佬快来


0
被禁言 李秉轩
李秉轩
修练者
修练者
#include<bits/stdc++.h>
using namespace std;
int main(){
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    string s;
    getline(cin,s);
    if(s[0]=='0'){
        cout<<0;
        return 0;
    }
    while(s[s.size()-1]=='0'){
        s.erase(s.size()-1,1);
    }
    if(s[0]=='-'){
    s.erase(0,1);
    cout<<'-';    
    }
    for(int i=s.size()-1;i>=0;i--){
        cout<<s[i];
    }
    //fclose(stdin);
    //fcolse(stdout);
    return 0;
}

 

0
曹博扬
曹博扬
初级天翼
初级天翼

en

确实有问题,你的for里面的if有很大的问题

可以用long long倒着模拟

a=a*10+n%10;

n/=10;

最后输出a

 

你的问题:

你将所有的0都删掉了

包括中间的

0
0
朱小川
朱小川
缔造者
缔造者

if(n<0){ cout<<"-"; n=-n; } while(n>0){ ans=ans*10+n%10; n/=10; } cout<<ans;

0
丁博扬
丁博扬
中级天翼
中级天翼

请问你这是认真的吗?

1443跟这题一模一样

0
拂晓工坊官方
拂晓工坊官方
初级守护
初级守护

int n,ans=0; cin>>n; if(n<0){ cout<<"-"; n=-n; } while(n>0){ ans=ans*10+n%10; n/=10; } cout<<ans;

我要回答