你会数数吗-输出某个数中,0-9十个数字出现的次数。

任务描述

请按要求数数。

输入格式:

输入数据第一行是一个整数(1-10之间),表示数据一共有N组。 接下来是N组数据,每组数据的第一个数M是此组数据的个数,接下来的M个正整数是这组数据的全部。

输出格式:

输出每组数据的所有数中,0-9十个数字出现的个数。 每组数据的统计结果单独占一行,格式为十组X-Y形式,以空格分隔,X代表0-9十个数字,Y代表出现的次数。

输入样例:

3
4 100 123  456789 1122568
3 12345 54321 67890
2 123 456

输出样例:

0-2 1-4 2-3 3-1 4-1 5-2 6-2 7-1 8-2 9-1
0-1 1-2 2-2 3-2 4-2 5-2 6-1 7-1 8-1 9-1
0-0 1-1 2-1 3-1 4-1 5-1 6-1 7-0 8-0 9-0
#include<iostream>
using namespace std;
int main()
{
	int n,m,x;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>m;
		int num_0=0,num_1=0,num_2=0,num_3=0,num_4=0,
		num_5=0,num_6=0,num_7=0,num_8=0,num_9=0;
		
		for(int j=1;j<=m;j++){
			cin>>x;
			while(x>0){
				int item=x%10;
				
				switch(item){
					case 0:{
						num_0++;
						break;
					}
					case 1:{
						num_1++;
						break;
					}
					case 2:{
						num_2++;
						break;
					}
					case 3:{
						num_3++;
						break;
					}
					case 4:{
						num_4++;
						break;
					}
					case 5:{
						num_5++;
						break;
					}
					case 6:{
						num_6++;
						break;
					}
					case 7:{
						num_7++;
						break;
					}
					case 8:{
						num_8++;
						break;
					}
					case 9:{
						num_9++;
						break;
					}
				}
				
				x/=10;
			}
		}
		printf("0-%d 1-%d 2-%d 3-%d 4-%d 5-%d 6-%d 7-%d 8-%d 9-%d\n",num_0,num_1,num_2,num_3,
			num_4,num_5,num_6,num_7,num_8,num_9);
	}
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值