习题3-3 数数字(Digit Counting, ACM/ICPC Dang 2007, UVa1586)

习题3-3
把前n(n <= 10000)个整数顺次写在一起:123456789101112…数一数0~9各出现了多少次(输出10个整数,分别是0,1,…, 9出现的次数).
*

下面是我的代码:

#include 
#include 
using namespace std;

int main()
{
	char s[105];
	cin >> s;
	int l;
	l = strlen(s);
	int a[100];
	memset(a, 0, sizeof(a));
	for (int i = 0; i < l; i++)
	{
		switch(s[i])
		{
			case '0': a[0]++; break;
			case '1': a[1]++; break;
			case '2': a[2]++; break;
			case '3': a[3]++; break;
			case '4': a[4]++; break;
			case '5': a[5]++; break;
			case '6': a[6]++; break;	
			case '7': a[7]++; break;
			case '8': a[8]++; break;
			case '9': a[9]++; break;			
		}
	}
	for (int i = 0; i <= 9; i++)
	{
		cout << i << ": " << a[i] << endl;	
	} 
	return 0;	
}
//如果有什么问题的话,可私聊我,嘻嘻嘻。。。

你可能感兴趣的:(习题3-3 数数字(Digit Counting, ACM/ICPC Dang 2007, UVa1586))