p1307 数字反转 为嘛20分

P1307 [NOIP2011 普及组] 数字反转

胡皓阳 @ 2017-05-28 22:09:54

p1307 数字反转

#include<iostream>
using namespace std;
int main(){
    int a,b,c;
    cin>>a;
    if(a<0){
         b=-a%10;
         c=-a/10%10;
         a=-a/100;
      if(b==0)
        cout<<0-(c*10+a);
      else
        cout<<0-(b*100+c*10+a);
    }
    else{
      b=a%10;
      c=a/10%10;
      a=a/100;
    if(b==0)
      cout<<c*10+a;
    else
      cout<<b*100+c*10+a;
    }
return 0;
}
为什么20分,DEV-c++上测都对的啊

by a___ @ 2017-05-28 22:42:21

@胡皓阳 谁告诉你一定是三位数了


by kkksc03 @ 2017-05-28 22:42:32

谁给你说了一定是3位数?


by a___ @ 2017-05-28 22:44:10

还有,不需要判断b是否=0啊


by 王奕霏 @ 2017-06-02 19:53:23

#include<iostream>
using namespace std;
int n,i,flag=0,m[10];
int main(){
    cin >> n;
    if(n<0){
        flag=1;
        n=0-n;
    }   
    while(n%10==0){
        n=n/10;
    }   
    int m[9];
    for(i=0;i<=9;i++){
        m[i]=0;
    }   
    if(flag==1){
        cout << "-";
    }   
    for(i=0;i<=9 && n!=0;i++){
        cout << n%10;
        n=n/10;
    }   
    return 0;
}
//答案这里

|