C言語で桁数を判定する方法は何ですか?

C言語では、整数の桁数を判定するために以下の方法が使用できます:

  1. 基礎となるループと除算演算:1つのループを使用し、整数を10で割って商を整数自体に代入し、商が0になるまで繰り返します。ループ中には、割り算の回数である整数の桁数を記録するためにカウンターを使用します。以下に例示するコード:
#include <stdio.h>

int main() {
    int n, count = 0;
    
    printf("请输入一个整数:");
    scanf("%d", &n);
    
    if (n == 0) {
        count = 1;  // 特殊情况,0的位数为1
    } else {
        while (n != 0) {
            n /= 10;
            count++;
        }
    }
    
    printf("该整数的位数为:%d\n", count);
    
    return 0;
}
  1. 対数演算を使用して、整数の桁数を計算するためには、log10()関数を使用します。log10()関数は、底が10の対数値を返し、その結果に1を加えることで整数の桁数が得られます。注意すべきは、log10()関数が浮動小数点数を返すため、適切なデータ型への変換が必要です。以下に示すサンプルコードを参考にしてください:
#include <stdio.h>
#include <math.h>

int main() {
    int n, count;
    
    printf("请输入一个整数:");
    scanf("%d", &n);
    
    if (n == 0) {
        count = 1;  // 特殊情况,0的位数为1
    } else {
        count = (int)log10((double)n) + 1;
    }
    
    printf("该整数的位数为:%d\n", count);
    
    return 0;
}

上記の2つの方法は、整数の桁数を判断するために使用することができます。どちらの方法を選択するかは、具体的なニーズと個人のプログラミングの習慣によります。

bannerAds