统计英文段落的字母频度

这道题没见过用   char(i + 'a' )来表示输出字符,这个记录一下

本题考核字符串的应用。编写一个函数,统计一个英文段落中英文26个字母的频度(26个字母不区分大小写,频度是指出现的次数),在主程序中实现输入一个英文段落、然后调用该函数计算26个字母的频度,在主函数中输出26个字母的频度。

输入格式:

输入在一段英文段落(已回车键为结束段落)。

输出格式:

输出26行:
A--Z的频度

输入样例:

在这里给出一组输入。例如:

ABCDEFGHIJKLMNOPQRSTUVWXYZ now you see, I can say my ABC. abcdefghijklmnopqrstuvwxyz

输出样例:

在这里给出相应的输出。例如:

'A' or 'a' :5
'B' or 'b' :3
'C' or 'c' :4
'D' or 'd' :2
'E' or 'e' :4
'F' or 'f' :2
'G' or 'g' :2
'H' or 'h' :2
'I' or 'i' :3
'J' or 'j' :2
'K' or 'k' :2
'L' or 'l' :2
'M' or 'm' :3
'N' or 'n' :4
'O' or 'o' :4
'P' or 'p' :2
'Q' or 'q' :2
'R' or 'r' :2
'S' or 's' :4
'T' or 't' :2
'U' or 'u' :3
'V' or 'v' :2
'W' or 'w' :3
'X' or 'x' :2
'Y' or 'y' :5
'Z' or 'z' :2

 

#include<bits/stdc++.h>
using namespace std;
int a[26];
int main(){
	string s;
	getline(cin,s);
	for(int i=0;s[i]!='\0';i++){
		if(s[i]>='A'&&s[i]<='Z'){
			s[i]=tolower(s[i]);
		}
	}
	for(int i=0;s[i]!='\0';i++){
		if(s[i]>='a'&&s[i]<='z'){
			a[s[i]-'a']++;
		}
	}
	for(int i=0;i<26;i++){
		cout<<"'"<<char(i+'A')<<"' or '"<<char(i+'a')<<"' :"<<a[i]<<endl;
	}
	return 0;
}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值