统计输入的一个字符串中每个数字出现的次数
要求:用一个二维数组分别记录数字和数字出现的次数。
注意:str[j]是字符,要使其为对应的数字,给它减去一个’0’或减去48-字符0的ASCII码值。
源程序:
#include<stdio.h>
#include<string.h>
main()
{
char str[100];
int digital_num[2][10] = { {0,1,2,3,4,5,6,7,8,9},{0,0,0,0,0,0,0,0,0,0} }; /*第一行记录出现的数字,第二行记录该数字出现的次数*/
int i, j;
printf("Input the string:\n");
gets(str); /*输入字符串*/
printf("该字符串中的各个数字个数统计结果为:\n");
for (j = 0; j < strlen(str); j++) /*判断字符串中的数字*/
{
if (str[j] >= '0' && str[j] <= '9')
for (i = 0; i < 10; i++)
{
if (digital_num[0][i]== str[j]-'0') /*str[j]是字符,要使其为对应的数字,给它减去一个'0'(或减去48-字符0的ASCII码值)*/
{
digital_num[1][i] = 1 + digital_num[1][i];
break;
}
}
}
for (i = 0; i < 2; i++)
{
for (j = 0; j < 10; j++)
printf("%d ", digital_num[i][j]);
printf("\n");
}
}
程序输出结果如下图: