葛成功之路 2019-12-04 22:52 采纳率: 87.5%
浏览 220
已采纳

请问我的输出为什么全是4个0?

题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。

输入描述
每 1 行一个整数 N

输出描述
每 1 行一个整数,表示反转后的新数.

样例输入
123
-380
样例输出
321
-83

#include<stdio.h>
#include<string.h>
int main()
{
long int m;
    int n,a,b=0,k,j,t;
    while(scanf("%d",&m)!=EOF)
    {
        if(m>0)
        {
        {
        if(m%10==0)
        while(m%10!=0)
        {
        m=m/10;
    }
    while(a!=0)
    {
        a=m%10;
            b=b*10+a;
            a=a/10;
        }
    printf("%d\n",b);
}
{
    if(m%10!=0)
    while(a!=0)
    {

             a=m%10;
            b=b*10+a;
            a=a/10;
        }
    printf("%d\n",b);
}
        }
        if(m<0) 
        j=0-m;
        {

        if(j%10==0)
        while(j%10!=0)
        {
            j=j/10;
    }
    while(a!=0)
    {
    a=j%10;
            b=b*10+a;
            a=a/10;
    t=0-b;
}
    printf("%d\n",t);
}
{
    if(j%10!=0)
    while(a!=0)
    {

    a=j%10;
            b=b*10+a;
            a=a/10;
            t=0-b;
        }
    printf("%d\n",t);
    }
}
    return 0;
} 
  • 写回答

1条回答 默认 最新

  • qtchen_1988 2019-12-05 10:56
    关注

    你的代码逻辑有点乱;
    我改了一下:

    #include<string.h>
    #include<stdlib.h>
    #include<stdio.h>
    
    int main()
    {
        long int m;
        int a,b,k;
        while(scanf("%d",&m)!=EOF)
        {
            k = 1;
            b = 0;
            if(m == 0)
            {
                printf("%d\n",b*k);
                continue;
            }
            else if(m<0)
            {
                k = -1;
                m = m*k;
            }
            while (m%10==0)
                m=m/10;
    
            while(!(m%10==0 && m/10 < 1)) {
                a = m%10;
                b = b*10+a;
                m=m/10;
            }
            printf("%d\n",b*k);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 求解vmware的网络模式问题
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?