数字字符出现频率

1148 数字字符出现频率

题目描述

从键盘输入一行文本,统计其中数字字符0~9出现的频率并输出。没有出现的数字字符不要显示。

输入描述

/*
从键盘输入一行文本。以换行符结束。
*/
Hello No 007.

输出描述

/*
输出统计结果。输出内容按照从0到9顺序输出。每个数字的信息占一行,如“0:2”表示数字字符0出现了2次
提示:
	输出内容中:
	0:2 表示数字字符0出现了2次
	7:1 表示数字字符7出现了1次
*/
0:2
7:1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void countnumber(char s[]){
    int number = 0;
    int len = strlen(s);
    int i =0;
    int counts[10];
    for(i=0;i<10;i++){
       counts[i] = 0;
    }
    for(i=0;i<len;i++){
        if(s[i]>='0' && s[i]<='9'){
           counts[s[i]-'0']++;
        }
    }
    for(i=0;i<10;i++){
        if(counts[i]!=0)
            printf("%d:%d
",i,counts[i]);
    }
}

int main()
{
   char str[200]={0};
   gets(str); // 可以读取带空格的字符串,回车结束输入
   countnumber(str);
   return 0;
}

原文地址:https://www.cnblogs.com/lwp-nicol/p/14279300.html