天天看點

取一個數的各個數位的數字

今天做C語言的題,遇到了計算一個數的相同數字的個數,冥思苦想,上廁所都在想,想過取餘想過除10但是沒想在一起,最後查了答案。

a = number%10;  //這是取到個位

number = number/10;  //因為是int變量,是以直接除以10就相當于把個位數字抹去了

循環計a的數就行了。

我把題目貼下面。

int CountDigit( int number, int digit );
           

其中

number

是不超過長整型的整數,

digit

為[0, 9]區間内的整數。函數

CountDigit

應傳回

number

digit

出現的次數。

裁判測試程式樣例:

#include <stdio.h>

int CountDigit( int number, int digit );

int main()
{
    int number, digit;

    scanf("%d %d", &number, &digit);
    printf("Number of digit %d in %d: %d\n", digit, number, CountDigit(number, digit));

    return 0;
}

/* 你的代碼将被嵌在這裡 */
           

 最後函數

int CountDigit( int number, int digit )

{   int a=0; int s=0;

    if(number<0) number = -number;

    if(number == 0) 

        if(digit == 0)return 1;

           else return 0;

    while(number!=0)

    {

        a = number%10;

        if(a == digit)

            s++;

        number = number/10;

    }

    return s;

}