C语言 不定长数字拆分(移位求余法)

一、功能需求

在使用C语言的过程中,经常要用到一个不定长的数字拆分 这个功能,那么改如何实现这样的需求呢?

二、解决办法

我们可以使用一个叫做移位求余的方法来循环截取一个数字.代码如下:

#include<stdio.h>
int main()
{   
    int a[10],i=0,x=984872482,t;//x表示一个不定长的数
    t=x;
    printf("t=%d(original)\n",x);
    a[0]=x%10;//移位求余无法求得第一个数,因此,第一位数直接通过求余得到
    while(t>0)
    {  a[++i]=(t=t/10)%10; //注意,a[0]已经有了,因此先自增
       printf("t=%d\n",t);
    }
    //注意,a[]的下标要先将1,否则取不到
    for(i--;i>=0;i--)
       printf("%d   ",a[i]);
}

运行结果如下所示:

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值