Extract digits from a long number in C

拈花ヽ惹草 提交于 2020-02-06 07:58:07

问题


I'm trying to extract the digits from a number n, with:

00000000000 ≤ n ≤ 99999999999

using the following code:

#include <stdio.h>

int main()
{

    int N;
    int power=1;


    scanf("%d",&N);

    while(N>power)
      power*=10;

    power/=10;

    while(N != 0)
    {
        int digit = N/power;
        printf("%d\n", digit);
        if(digit!=0)
          N=N-digit*power;
        if(power!=1)
          power/=10;
    }



    return 0;
}

It works well for a range of values, but for an 11 digit number, I get an error. Any tips on how to fix it to handle the n range?

来源:https://stackoverflow.com/questions/59722275/extract-digits-from-a-long-number-in-c

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!