用字符串存储:

#include<iostream>
#include<cstring>

using namespace std;

#define MAX 1001

int main()
{
	char a[MAX];//定义数组来存放N值 
	int count[10]={0};//count数组用来计数
	scanf("%s",&a);//输入字符串
	for(int i=0;i<strlen(a);i++)
	{//遍历 -计数 
		count[a[i]-48]++;//‘0’与0 ascii码相差48
	}
	for(int i=0;i<10;i++)
	{//遍历-输出 
		if(count[i]!=0)
		{
			printf("%d:%d\n",i,count[i]);
		}
	 } 
	return 0;
}

用string对象存储:

#include<iostream>
#include<cstring>

using namespace std;

int main()
{
	string a;//定义string对象来存放N值 
	int count[10]={0};//count数组用来计数
	cin>>a;//输入字符串
	for(int i=0;i<a.length();i++)
	{//遍历 -计数 
		count[a[i]-48]++;//‘0’与0 ascii码相差48
	}
	for(int i=0;i<10;i++)
	{//遍历-输出 
		if(count[i]!=0)
		{
			printf("%d:%d\n",i,count[i]);
		}
	 } 
	return 0;
}