整数分解(方法1各种整数分解均适用,方法2不能用于末尾为0的数)

**方法1 // 无论末尾是不是0,都可以做 整数分解**
#include "stdio.h"
#include <stdlib.h>
#include <time.h>

int main()
{
    int x,remainder,ret;
    scanf("%d",&x);
    int cnt = 0 , factor = 1,t,quo;
    t = x;
    // 统计x是几位数
    do
    {        
        t = t/10;
        cnt++;
        factor = factor*10;
    } while (t != 0);

    do
    {
        quo = x/(factor/10);
        printf("%d ",quo);
        x = x%(factor/10);
        factor = factor/10;

    } while (factor >= 10);
    

    return 0;
}

**方法2// 适用于末尾不是0的 整数分解**
#include "stdio.h"
#include <stdlib.h>
#include <time.h>

int main()
{
    int x,remainder,ret;
    scanf("%d",&x);
     do
    {
        remainder = x%10;
        x = x/10;
        ret = ret*10 + remainder;
  

    } while (x != 0);
    printf("逆序数为%d\n",ret);

    do
    {
        remainder = ret%10;
        ret = ret/10;
        printf("%d ",remainder);

    } while (ret != 0);
        
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值