c++字符數組


題目描述

題目描述

輸入一個英文句子(長度不會超過100),和他的長度,統計每個字母出現的個數。

輸入

第一行包括一個整數,表示句子的長度,長度不會超過100。數字后可能會有多余的無效字符 請gets掉。

第二行包括一個英文句子。

輸出

按順序輸出每個出現的小寫字母的個數。

樣例輸入

25
pascal is so interesting!

樣例輸出

a 2
c 1
e 2
g 1
i 3
l 1
n 2
o 1
p 1
r 1
s 4
t 2

程序

#include <bits/stdc++.h>
using namespace std;
char a[1000];
char tmp[10];
int ans[10000];
int main()
{
	int n;
	cin >> n;
	gets(tmp);//去掉無效的字符 
	gets(a);
	memset(ans,0,sizeof(ans));//把整個ans數組歸零 
	for (int i = 0;i <= n - 1;i ++) 
	{
		if ((a[i] <= 'z') && (a[i] >= 'a'))
		{
			ans[a[i] - 'a' + 1] ++;//a[i] - 'a' + 1 是把字母轉換成字母對應的位置
			/*ans[a[i] - 'a' + 1] ++;是把ans數組里字母對應的位置加1,進行統計*/
		}
	}
	for (int i = 1;i <= 26;i ++)
	{
		if (ans[i] != 0)//過濾掉字母個數為零的情況 
		{
			printf("%c %d \n",i + 'a' - 1,ans[i]);//i + 'a' - 1是把字母對應的位置轉換成字母的ascll碼 
		} 
	}
	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM