文字列内の数字の出現回数を数える

明解C言語 入門編 > 9. 文字列の基本 >

文字列内の数字の出現回数を数える

C


#include <stdio.h>


int main(int argc, char* argv[])
{
int cnt[10] = {0};
char str[100] = "3.1415926535897932846";
unsigned i = 0;

while (str[i])
{
if (('0' <= str[i]) && (str[i] <= '9'))
cnt[str[i] - '0']++;
i++;
}

for (i = 0; i < 10; i++)
{
printf("'%d' : %d\n", i, cnt[i]);
}

return 0;
}

実行結果

T:\>lesson074\Project1.exe
'0' : 0
'1' : 2
'2' : 2
'3' : 3
'4' : 2
'5' : 3
'6' : 2
'7' : 1
'8' : 2
'9' : 3