帮帮忙

P1307 [NOIP2011 普及组] 数字反转

GA111 @ 2022-05-02 17:28:54

题目:P1307数字反转

代码:

#include<bits/stdc++.h>
using namespace std;
char s[200];
int main()
{
    scanf("%s",&s);
    int index=0;
   for(int i=strlen(s)-1;i>=0;i--)//判断最后有多少位为0,下标移动index位
   {
       if(s[i]=='0')index++;
       else{break;}
   }
    if(s[0]=='-')//负数   
    {
        cout<<s[0];
        for(int i=strlen(s)-1-index;i>=1;i--)
        {
            cout<<s[i];
        }
    }
    else //正数
    {

         for(int i=strlen(s)-1-index;i>=0;i--)
           {
            cout<<s[i];
        }  
    }
    return 0;
}
结果:

分数都通过了,测评不通过,求解答!


by 哈士奇憨憨 @ 2022-05-02 17:31:21

你没判 0


by char_cha_ch @ 2022-05-02 18:09:52

正数负数不用单独写,如果你遇到了-直接printf("-");然后底再加一点(要不要代码)


by GA111 @ 2022-05-03 20:02:00

@哈士奇憨憨

感谢,在判断正数的时候再加判断了,通过了

 else  //正数
    {
        if(strlen(s)==1)cout<<s[0]<<endl;
        else
         {
         for(int i=strlen(s)-1-index;i>=0;i--)
           {
            cout<<s[i];
        }  
         }
    }

|