40,菜鸡求大佬

P1307 [NOIP2011 普及组] 数字反转

蒟蒻Ken_bruce @ 2019-12-25 19:29:04

#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
int main()
{
    string a;
    int j;
    char temp='`';//负号的标记 
    cin>>a;
    if(a=="0"){
        cout<<"0";
        return 0;
    }
    if(a[0]=='-') temp='-';
    reverse(a.begin(),a.end());//algorithm里的翻转函数 ,begin() 和 end()是迭代器
    for(j=0;j<a.size();j++)
    {
        if(a[j]!='0') break;
     } 
    for(int i=0;i<j;i++)
    {
        a.erase(a.begin()+i);//删除0
    }
    if(a[a.size()-1]=='-') a[a.size()-1]=-1;//删除末尾- 
    if(temp!='`')//不是`,那就是- 
    cout<<temp;
    cout<<a;
    system("pause");
    return 0;
 } 

求助,有一个RE


by schtonn @ 2019-12-25 19:33:33

盲猜数组开小了


by bus_station @ 2019-12-25 19:47:17

@l_x_l string还能开小?


by pqliuyqq @ 2020-01-01 12:50:29

为啥用了 bit/stdc++.h 头文件还要用algorithm?(题外话)

为什么要用"pause"呢?又不是人工检测(有可能是错误原因)

为什么a[a.size()-1]=-1呢?等于空格不行吗???(题外话)


|