將十進制的各個位數分離出來

判斷輸入數字中是否有某一個數字的問題?


思考一個問題:

如何分離數據 ?

方法:利用 除法 / 以及取餘 % 運算。


利用C語言:實現將十進制的各個位數分離出來

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

int get_bit(int number);   // 獲得輸入數據的位數 比如:1992  結果是 4 

int main(void)
{
    unsigned int number = 199212; 
    int bits ;
    int m =0;            
    int b =0;

    bits = get_bit(number);
    m = pow(10,bits-1);             // 當輸入數據是 4 個數字組成,那麼 m = 1000

    while( number > 0 )
    {
        b = number / m;
        printf("%d  ",b);   
        number %= m;
        m /= 10;
    }

    return 0;
}

int get_bit(int number)
{
    int flg = 1;
    int count = 0;

    while(flg <= number)
    {
        count++;
        flg*=10;
    }
    return count;
}

結果是:

1 9 9 2 1 2


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章