c语言-统计数字问题

   给定一个n,求1~n中,0~9出现的次数。

 

# include <stdio.h>

# include <string.h>

 

void main()

{

   int n,n1,i,j;

         inta[10000],a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,a10=0;

 

         scanf(“%d”,&n);

        

 

         while(n)

         {

                  

                  

                   memset(a,0,1000);

                   i=0;

       

 

                   if(n%10==0)

                   {

                            a1++;

                            n1=n;

                       n1=n1/10;

          while(n1)

                      {

                               a[i++]=n1%10;

                               n1=n1/10;

                      }

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

                      {

                               switch(a[j])

                            {

                               case 0:a1++; break;

                               case 1:a2++; break;

                               case 2:a3++; break;

                               case 3:a4++; break;

                               case 4:a5++; break;

                               case 5:a6++; break;

                               case 6:a7++; break;

                               case 7:a8++; break;

                               case 8:a9++; break;

                               case 9:a10++;break;

                             }

                      }

                                    

                   }

                   else

                   {

                            n1=n;

                           

           while(n1)

                      {

                               a[i++]=n1%10;

                              

                               n1=n1/10;

                      }

                     

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

                      {

                               switch(a[j])

                            {

                               case 0:a1++; break;

                               case 1:a2++; break;

                               case 2:a3++; break;

                               case 3:a4++; break;

                               case 4:a5++; break;

                               case 5:a6++; break;

                               case 6:a7++; break;

                               case 7:a8++; break;

                               case 8:a9++; break;

                               case 9:a10++;break;

                             }

            

                      }

                                      

                   }

        

 

                  

 

                   n–;

         }

   printf(“%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d”,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);

 

}《c语言-统计数字问题》《c语言-统计数字问题》《c语言-统计数字问题》

点赞