云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 统计字母的使用频率c语言实现

统计字母的使用频率c语言实现

  • 62 次阅读
  • 3 次下载
  • 2025/6/22 18:51:54

字母频率计1

#include #include

main() {

int x; //数组下标变量,详情看代码 int max; //出现频率最高的字母

int char_count[26]; //26个字母出现字数的统计 char c;

/*将数组初始化,因为我们还没有输入嘛,所以a~z都为0啦*/ for( x= 0; x < 26; x++) {

char_count[x] = 0; }

while((c = getchar()) != EOF) {

if(isalpha(c)) /*详情见文末*/ {

c = tolower(c); //大写转换为小写 ++char_count[c-'a']; } }

max = 0; //初始化

/*找出出现频率最高的字母*/ for(x = 0; x < 26; x++) {

if(char_count[x] > max) {

max = char_count[x]; printf(\ } }

/*打印直方图*/

for(; max > 0; max--) {

for(x = 0; x < 26; x++) {

if(char_count[x] >= max) {

putchar('x'); } else

putchar(''); }

putchar('\\n'); }

/*打印下标,即abcdefghijklml....*/ for(x = 0; x < 26; x++) {

putchar('a'+x); }

return 0; }

字母频率计2

#include

void main() {

char ch; //ch用来每次接收一个字符

int i,s[26]={0}; //数组s[]用来统计每个小写字母的个数

printf(\

scanf(\

while(ch!='\\n') //输入一行字符,以回车键结束

{

if(ch>'A'&&ch<'Z') //遇到大写字母时,转换成小写来处理 ch+=32;

s[ch-'a']++; //0~25对应a~z scanf(\}

printf(\

for(i=0;i<26;i++)

if(s[i]) //只输出输入过的字母统计

printf(\

//(char)(i+'a')用强制类型转换,输出对应字母 }

字母频率计3

《统计字母的使用频率》实验报告

一、问题描述:

为统计英文字母的使用频率,输入一个不包括空格的由英文字母组成的字符串,长度不超过200个字符。统计26个英文字母的使用频率,不区分大小写。最后按使用频率从大到小输出字母(小写字母)和使用频率(出现次数)。

二、程序设计的基本思想,原理和算法描述:

定义一个将大写字母转化为小写字母的函数:char alphabet(char y) 程序的代码:定义三个数组a[200],b[26],c[26] 并把c[26]赋初值0 定义变量x,i,j,k 输入英文字符串 将大写字母改写成小写字母 统计每个字母的个数,存在数组c[26]中 将26个字母赋值给b[26] 比较字母个数大小,个数多的排到前面 按频率大小输出字母和频率 结束

三、源程序及注释: #include\#include\void main()

{ char alphabet(char y);//声明alphabet函数 char a[200],b[26];//a表示输入的字母,b表示26个字母 int c[26]={0};//c代表字母出现的次数 char x; int i,j,k; printf(\请输入一个不包括空格的英文字符串:\\n\ scanf(\输入字符;gets(a),可以有空格 for(i=0;i<200;i++)//将大写字母改成小写字母 a[i]=alphabet(a[i]); for(j=0,x='a';j<26;j++,x++)//统计每个字母个数 for(i=0;i<200;i++) if(a[i]==x) c[j]++; for(k=0;k<26;k++)//将26个字母赋值给b b[k]='a'+k; for(i=0;i<25;i++)//比较字母个数大小,个数多的排到前面 for(j=25;j>i;j--) if(c[j]>c[j-1]) { k=c[j-1];

搜索更多关于: 统计字母的使用频率c语言实现 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

字母频率计1 #include #include main() { int x; //数组下标变量,详情看代码 int max; //出现频率最高的字母 int char_count[26]; //26个字母出现字数的统计 char c; /*将数组初始化,因为我们还没有输入嘛,所以a~z都为0啦*/ for( x= 0; x < 26; x++) { char_count[x] = 0; } while((c = getchar()) != EOF) { if(isalpha(c)) /*详情见文末*/

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com