输出逆序数!我到底哪错了?!

题目:从键盘任意输入一个三位整数,编程计算并输出他的逆序数(忽略正负号)

img

计算w错了,反了。

w=z*100+y*10+x;

第12行:w=x*100+y*10+z 应修改为:w=z*100+y*10+x;

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b;
    scanf("%d",&a);
    b=fabs(a);
    int x,y,z,w;
    x=b/100;
    y=b/10%10;
    z=b%10;
    w=z*100+y*10+x; //w=x*100+y*10+z 修改
    printf("%d\n",w);
    return 0;
}

只是最后结果反了,其他的都没错

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b;
    scanf("%d",&a);
    b=fabs(a);
    int x,y,z,w;
    x=b/100;
    y=b/10%10;
    z=b%10;
    w=z*100+y*10+x;
    printf("%d\n",w);
    return 0;
}

```

★修改的地方——第13行:w=z * 100+y * 10+x; 应该改为:w=x * 100+y * 10+z 这样修改的原因是原本的计算方法错了顺序,会导致最后的逆序数出现错误。

#include<stdio.h>
#include<math.h>

int main()
{
    int a,b;
    scanf("%d",&a);
    b=fabs(a);
    int x,y,z,w;
    x=b/100;
    y=b/10%10;
    z=b%10;
    w=z*100+y*10+x; //★修改的地方:w=x*100+y*10+z 这样修改的原因是原本的计算方法错了顺序,会导致最后的逆序数出现错误
    printf("%d\n",w);
    return 0;
}

以上仅供参考,如有任何疑问,可以评论回复,看到即回。
希望对题主有所帮助!可以的话,点个采纳!

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632