L1-003. 個位數統計

L1-003. 個位數統計

時間限制
400 ms
內存限制
65536 kB
代碼長度限制
8000 B
判題程序
Standard
作者
陳越

給定一個k位整數N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),請編寫程序統計每種不同的個位數字出現的次數。例如:給定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
//一開始想法是用一個數組存儲每一個數字,但是沒想到這下數字作爲一個整數保存在了[0],改用字符串轉數組 
//一開始想着length知道了,只需要申請length長度的動態數組就可以了,但是提交總有一個測試點過不了,就想到是申請內存不成功的問題

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


int main(){
	int i=0;
	int index[10]={0};//存儲每個數的次數 
	string s;
	int num[1000]; 
	cin>>s;
	for(;i<s.length();i++){//這裏length()不要忘記寫括號,這是一個函數
		num[i]	= s[i];
	} 
	for(int j=0;j<10;j++){
		for(int k=0;k<s.length();k++){
			if((s[k]-'0')==j)  index[j]+=1;//這裏改了好久,一開始傻傻地把s[k]與j比較,但是沒想到他們的數據類型的不同 
		}
	}
	//輸出
	for(int j=0;j<10;j++){
		if(index[j]!=0)
		cout<<j<<":"<<index[j]<<endl;
	}
	
	
	return 0;
} 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章