PTA L1-003 个位数统计

   日期:2020-11-09     浏览:136    评论:0    
核心提示:给定一个 k 位整数请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。输出格式:对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。输入样例:100311输出样例:0:21:33:1AC代码(C++):方法一(列举了所有的情况,看起来有点儿傻…哈哈哈)

给定一个 k 位整数
请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。

输入格式:

每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。

输出格式:

对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。

输入样例:

100311

输出样例:

0:2
1:3
3:1

AC代码(C++):

方法一(列举了所有的情况,看起来有点儿傻…哈哈哈)

#include <iostream>
#include <string.h>
char str[1005];
using namespace std;

int main()
{ 
	while( cin>>str )
	{ 
		int k0=0,k1=0,k2=0,k3=0,k4=0,k5=0,k6=0,k7=0,k8=0,k9=0;
		for( int i=0;str[i]!='\0';i++)
		{ 
			if( str[i]=='0' )
			{ 
				k0++;
			}
			else if( str[i]=='1' )
			{ 
				k1++;
			}
			else if( str[i]=='2' )
			{ 
				k2++;
			}
			else if( str[i]=='3' )
			{ 
				k3++;
			}
			else if( str[i]=='4' )
			{ 
				k4++;
			}
			else if( str[i]=='5' )
			{ 
				k5++;
			}
			else if( str[i]=='6' )
			{ 
				k6++;
			}
			else if( str[i]=='7' )
			{ 
				k7++;
			}
			else if( str[i]=='8' )
			{ 
				k8++;
			}
			else if( str[i]=='9' )
			{ 
				k9++;
			}
		}
		
		if( k0!=0 )
		{ 
			cout<<"0:"<<k0<<endl;
		}
			if( k1!=0 )
		{ 
			cout<<"1:"<<k1<<endl;
		}
			if( k2!=0 )
		{ 
			cout<<"2:"<<k2<<endl;
		}
			if( k3!=0 )
		{ 
			cout<<"3:"<<k3<<endl;
		}
			if( k4!=0 )
		{ 
			cout<<"4:"<<k4<<endl;
		}
			if( k5!=0 )
		{ 
			cout<<"5:"<<k5<<endl;
		}
			if( k6!=0 )
		{ 
			cout<<"6:"<<k6<<endl;
		}
			if( k7!=0 )
		{ 
			cout<<"7:"<<k7<<endl;
		}
			if( k8!=0 )
		{ 
			cout<<"8:"<<k8<<endl;
		}
			if( k9!=0 )
		{ 
			cout<<"9:"<<k9<<endl;
		}
		
	}
return 0;
}

方法二

#include<iostream>
#include<string>
using namespace std;

int main(){ 
	int a[10]={ 0};
	string s;
	cin>>s;
	for(int i=0;i<s.size();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++){ 
		if(a[i])cout<<i<<":"<<a[i]<<endl;
	}
return 0;
}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服