输入一个整数,将它的个十百千输出,再和成这个数,可是为什么输出的会小一点

img

你这部分代码没有问题,是不是下面的代码有问题,把代码发完整看看
或者参考

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

int main()
{
    int a,i;
    int b = 0;
    int c = 0;
    scanf("%d", &a);
    while (a)
    {
        i = a%10;
        a /= 10;
        printf("%d\n", i);
        b = b+i*pow(10,c);
        c++;
    }
    printf("%d\n", b);

    return 0;
}

img

这些代码看着没什么问题,你把代码贴全。

img

参考如下代码:

代码:

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

int main()
{
    int a,i;
    int b=0;
    int c =0;
    printf("请输入一个整数:");
    scanf("%d",&a);
    if (a>0)
    {
        while(a)
        {
            i=a%10;
            a/=10;
            printf("%d\n",i);
            b = b+ i*pow(10.0,c);
            c++;
        }
    }else
    {
        while(a)
        {
            i=a%10;
            a/=10;
            printf("%d\n",i);
            b = b+i*pow(10.0,c);
            c++;
        }
    }
    printf("%d",b);
    return 0;
}