解题思路:
这道题相对来说比较简单.首先输入一个整数(本文采用了字
符数组的方式输入).对整数进行n%10再/10的操作(如果是字符数
组的话,从ch[0]开始,一直到ch[i]=='\0'结束,注意的是字符转
换为数字的操作是-'0'),可以定义一个数组a[10],以a[i]代表数
字i的个数有多少.
其次是输出的问题,题目对输出的要求还是比较简单的,每行
输出一个数字的个数,还是从小到大输出的,所以可以遍历结果数
组,大于0的就输出
#include<stdio.h>
int main()
{
int num[10] = {0},i,a;
char str[1001];
scanf("%s",&str);
for (i = 0;str[i]!='\0';i++)
{
a=str[i]-'0';
num[a]++;
}
for (i=0;i<10;i++)
{
if(num[i]!=0)
{
printf("%d:%d\n",i,num[i]);
}
}
return 0;
}