求助求助!!哪位大神能教我一下,c语言编程,输入一个整数n,检查n中重复出现的数字,并打印出一份列

求助求助!!哪位大神能教我一下,c语言编程,输入一个整数n,检查n中重复出现的数字,并打印出一份列表,显示每个数字在整数n中出现的次数,

#include "stdio.h"

int main()

{ int n,i,a[10]={0};

 scanf("%d",&n);

 while(n>0)

 {a[n%10]++;

  n/=10;

 }

 for(i=0;i<10;i++)

if(a[i])

printf("%d: %d\n",i,a[i]);

 return 0;

}

追问

可题目要求是这样,,,不懂

追答

提问题要一步到位。把程序写好了,再提新的要求,这是浪费答题人的精力。

#include "stdio.h"

int main()

{ int n,i,a[10]={0};

 scanf("%d",&n);

 while(n>0)

 {a[n%10]++;

  n/=10;

 }

 for(i=0;i<10;i++)

printf("%3d",i);

 printf("\n");

 for(i=0;i<10;i++)

printf("%3d",a[i]);

 printf("\n");

 return 0;

}

追问

请收下我的膝盖,,以后会注意提问方式的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-01
#include <stdio.h>
int main()
{
   int s[10]={0},n;
   scanf("%d",&n);
   if(n==0)
     s[0]=1;
   else
   {
     while(n!=0)
     {  s[n%10]++;   
        n=n/10;  
     } 
   }     
        for(int i=0;i<10;i++)
       if(s[i]!=0)
        printf("%d------>%d\n",i,s[i]); 
return 0; 
}

追问

题目要求,,比如说,输入41271092.应输出
0 1 2 3 4 5 6 7 8 9
1 2 2 0 1 0 0 1 0 1

追答

for(int i=0;i%d\n",i,s[i]);
修改成:
for(int i=0;i<10;i++)
printf("%d\t",i);
printf("\n");
for(int i=0;i<10;i++)
printf("%d\t",s[i]);
printf("\n");