C言語での数値の桁の抽出方法


  1. 数値を文字列に変換して桁ごとにアクセスする方法:
#include <stdio.h>
#include <stdlib.h>
int main() {
    int number = 12345;
    char str[20];
    sprintf(str, "%d", number);

    int length = strlen(str);
    for (int i = 0; i < length; i++) {
        int digit = str[i] - '0';
        printf("%d\n", digit);
    }

    return 0;
}
  1. 数値を剰余演算子を使用して桁ごとに取得する方法:
#include <stdio.h>
int main() {
    int number = 12345;
    int remainder;

    while (number > 0) {
        remainder = number % 10;
        printf("%d\n", remainder);
        number = number / 10;
    }

    return 0;
}
  1. 数値を文字列に変換せずに桁ごとにアクセスする方法:
#include <stdio.h>
#include <math.h>
int main() {
    int number = 12345;
    int length = (int)log10(number) + 1;

    int divisor = pow(10, length - 1);
    while (divisor > 0) {
        int digit = number / divisor;
        printf("%d\n", digit);
        number = number % divisor;
        divisor = divisor / 10;
    }

    return 0;
}

これらの方法を使用することで、C言語で数値の桁を抽出することができます。ご希望の方法やコード例を参考にしてください。