UVa 1225 Digit Counting(习题3-3)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
} 


猜你喜欢

转载自blog.csdn.net/decision2016/article/details/53486128