求大佬看看

P1307 [NOIP2011 普及组] 数字反转

2018陈子珺 @ 2018-09-16 10:52:11

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int a,b,c=1,d=0,e=0,f=0,g;
    cin>>a;
    g=a;
    while(a!=0)
    {
        a/=10;
        f++;
    }
    while(g!=0)
    {
        b=g%10;
        g/=10;
        e++;
        for(int i=1;i<=(f-e);i++)
        {
            c*=10;
        }
        d+=c*b;
    }
    cout<<d;
    return 0;
}

by Hope2075 @ 2018-09-16 11:09:49

用char数组多方便


by 御坂19000号 @ 2018-09-16 11:21:25

@2018陈子珺

大佬,这是我帮您重写了一遍的。。。

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
    int a;
    cin >> a;//读入原数 
    int b = 0;
    if(a < 0){//如果a是负数 
        a = abs(a);//先取一次绝对值 
        while(a){
            b = b * 10 + a % 10;//反转 
            a /= 10;
        } 
        cout << -b;//输出时把它变回负的 
    }
    else{
        while(a){
            b = b * 10 + a % 10;
            a /= 10;
        } 
        cout << b;
    }
    return 0;
}

by 2018陈子珺 @ 2018-09-16 11:28:23

@御坂19000号 谢谢谢谢


|