PAT_B_1021 個位數統計

題目描述:測試

給定一個 k 位整數 N=d​k−1​​ 10​k−1​​ +⋯+d​1​​ 10​1​​ +d​0​​  (0≤d​i​​ ≤9, i=0,⋯,k−1, d​k−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

本人AC代碼:spa

//  PAT乙級
//  PAT_1021_Count
//  把輸入的數據按位拆分,並輸出0-9出現的次數

# include <stdio.h> 
# include <stdlib.h>
# include <string.h>

int main(void)
{
	char ch[1001]; // 記錄輸入的數據
	int i, len;
	int Count[10] = {0};
	
	// 輸入字符串
	gets(ch);
	len = strlen(ch);
	
	//  統計0-9出現的次數 
	for (i=0; i<len; i++)
	{
		Count[(ch[i]-'0')]++;
	}
	
	for (i=0; i<10; i++)
	{
		if (Count[i] != 0) 
			printf("%d:%d\n",i,Count[i]);
	}
	
	return 0;
}

RRRblog

相關文章
相關標籤/搜索