紫书上习题3-3,这道题经过 for 循环对1到 n 之间的数判断,然后存在数组(范围0—9)里,每分析一个数,数组结果加一,最后输出数组就行;
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
using namespace std;
int main()
{
int n,m;int a[15];
while(cin>>n){
while(n--){
memset(a,0,sizeof(a));
cin>>m;
for(int i=1;i<=m;i++){
int t=i;
while(1){
a[t%10]++; t=t/10; //存数组;
if(t==0) break;
}
}
for(int i=0;i<10;i++){
if(i==0) cout<<a[0];
else if(i>0) cout<<" "<<a[i];
}
cout<<endl;
}
}
}