太水了,直接循环计数就行了。

#include <bits/stdc++.h>
using namespace std;
int ans[11];
int main()  {
    int n,num,t;
    cin>>n;
    while (n--) {
        cin>>num;
        for (int i=1;i<=num;i++) {
            t=i;
            while (t)   {
                ans[t%10]++;
                t/=10;
            }
        }
        cout<<ans[0];
        for (int i=1;i<10;i++)  cout<<' '<<ans[i];
        cout<<endl;
        fill(ans,ans+10,0);
    }
    return 0;
}

转载于:https://www.cnblogs.com/yichuan-sun/p/9642455.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐