版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/decision2016/article/details/53486128
代码之前发过c语言版本的,这回重新发一次,相当于是补充吧
这个应该不算是字符串的处理了吧,从1开始枚举到n,然后每个数字分别出现的次数
先把数字取模10之后ans数组++,然后数字再陈10直到数字为0
代码:
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int ans[11];
int s;
int main()
{
int n;
cin>>n;
for(int i = 1;i<=n;i++)
{
memset(ans,0,sizeof(ans));
cin>>s;
for(int j = 1;j<=s;j++)
{
int tmp = j;
while(tmp>0)
{
ans[tmp%10]++;
tmp /= 10;
}
}
for(int j = 0;j<9;j++)
cout<<ans[j]<<" ";
cout<<ans[9]<<endl;
}
return 0;
}