UVA1225 数数字 Digit Counting

题目描述

PDF
在这里插入图片描述

输入格式

输出格式

题意翻译

把前n(n<=10000)个整数顺次写在一起:12345678910111213141516……数一数0~9分别出现了多少次。

输入输出样例

代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
#include<cstdio>
#include <algorithm>
#include<map>
#include<sstream>
using namespace std;
#pragma warning(disable:4996)
#pragma warning(disable:6031)


int main()
{
	int Count[13];
	int n;
	cin >> n;
	while (n--)
	{
		memset(Count, 0, sizeof(Count));
		int ans;

		cin >> ans;
		for (int i = 1; i <= ans; i++)
		{
			string s;
			stringstream sliu;//流stringstream
			sliu << i;//数字转化成流
			sliu >> s;//流转化成字符串

			for (int j = 0; j < s.length(); j++)
			{
				Count[s[j] - '0']++;
			}
		}
		for (int i = 0; i <= 9; i++)
		{
			printf("%d%c", Count[i],i==9?'\n':' ');
		}
		//printf("\n");
	}
	return 0;
}
发布了53 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/YUEXILIULI/article/details/104002477