C言語で数字の個数を数える方法

数字の個数を数えるには、C言語で以下のようにできます。

  1. 「これは数値ですか?」
  2. 数値かどうかの判定
#include <stdio.h>
#include <ctype.h>

int countDigits(char* str) {
    int count = 0;
    for (int i = 0; str[i] != '\0'; i++) {
        if (isdigit(str[i])) {
            count++;
        }
    }
    return count;
}

int main() {
    char str[] = "Hello123World";
    int count = countDigits(str);
    printf("Number of digits: %d\n", count);
    return 0;
}
  1. アスキーコードで判定する:数値のアスキーコードは48~57であるため、文字のアスキーコードを比較することで数値かどうかを判定することができる。
#include <stdio.h>

int countDigits(char* str) {
    int count = 0;
    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] >= '0' && str[i] <= '9') {
            count++;
        }
    }
    return count;
}

int main() {
    char str[] = "Hello123World";
    int count = countDigits(str);
    printf("Number of digits: %d\n", count);
    return 0;
}

いずれの方法でも、文字列に含まれる数値の個数を数えることができます。

bannerAds