统计数字.cpp

来自「程序一编译通过的。如果需要进一步改进」· C++ 代码 · 共 39 行

CPP
39 行
字号
#include<iostream>
int s[10];
void fun(int n,int k)
{
    int i,t=1;
    for(i=1;i<k;i++)
    {
       t*=10;
    }
    if(t<n)
    {
       for(i=0;i<10;i++)
       {
         k=n/t%10;
         if(k==0&&i==0)
            s[i]-=t;
         if((i==0&&k!=0)||i>k)
            s[i]+=(n/(t*10))*t;
         else if(i<k)
            s[i]+=(n/(t*10)+1)*t;
         else if(i==k)
            s[i]+=(n/(t*10))*t+n%t+1;
       }
    }
    else if(t==n)
    s[1]++;
} 
int main()
{
    int n,i,j,k;
    scanf("%d",&n);
    for(i=1;i<10;i++)
    fun(n,i);
    for(i=0;i<10;i++)
    printf("%d\n",s[i]);
    system("pause");
    return 0;
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?