题目内容:输入一行字符,统计其中数字字符“0~9”分别出现的次数,并输出统计结果【要求:统计结果存放在一个数组里】。
输入样例:112223336*/
输出样例:‘0’出现的次数为0
‘1’出现的次数为2
‘2’出现的次数为3
......
个人解法如下:
#define _CRT_SECURE_NO_WARNINGS //防报错
#include <stdio.h>
#include <string.h>
#define M 10
#define N 100
int main()
{
int i, j, c[M] = {0}; //将存放次数的数组初始化
char str[N];
printf("请输入字符串:");
gets(str);
for(i = 0; i < strlen(str); i++) //遍历数组
for(j = 0; j <= 9; j++)
if (str[i] == j + 48) //符号'0'为ASCII的第48位
{
c[j]++;
break;
}
for(i = 0; i <= 9; i++)
printf("%d出现的次数为%d\n", i, c[i]);
return 0;
}
本人拙作,请大佬们点评。