当前位置:首页 » 编程语言 » c语言统计最高频率的字母
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言统计最高频率的字母

发布时间: 2022-06-23 22:17:39

㈠ 字母频率统计-c语言

1、char a2[][26]={0};

按照你这种写法 这个数组只有一行,也就是等效于char a2[1][26]={0};

所以当出现超过一个字符的时候 调用越界,导致崩溃。

如果你准备用二维数组的话,那么大小需要动态分配。

但实际上,没必要用数组,直接输出就好了。

2、 输入没有说以.结束,而是说以ctrl+z结束。

改了一版代码,你看看:

#include<stdio.h>
intmain()
{
intc;
inta[26]={0};
inti=0,j=0,max;

while((c=getchar())!=EOF)
{
if(c>='a'&&c<='z')
a[c-'a']++;
}//用a[0]大小表示字母a出现次数,其他字母分别用a[1],a[2]…a[25]表示。

for(i=1,max=a[0];i<26;i++)
{
if(a[i]>max)
max=a[i];
}
for(i=max;i>0;i--)
{
for(j=0;j<26;j++)
{
if(a[j]>=i)putchar('*');
elseputchar('');
}
putchar(' ');
}
printf("abcdefghijklmnopqrstuvwxyz ");
return0;
}

㈡ c语言统计出现次数最多的字母

b数组双括号内的就是a[i],取大写字母A,就是把相应的大写字母转换为序号,比方说大写A就转换为0,大写B就转化为1等等照此类推,然后就统计他们的个数。

㈢ c语言 字符串 找出频率最多的字母及其个数

#include<stdio.h>

int main()

{

char s[200];

int a[128]={0};

int i,maxi=0;

gets(s);

for(i=0;s[i];i++)

a[s[i]]++;

for(i=32;i<128;i++)

if(a[i]>a[maxi])maxi=i;

printf("出现最多的是%c,出现了%d次 ",maxi,a[maxi]);

return 0;

}

㈣ c语言怎么求字符串中出现次数最多的字母

如图,我把字符的值当成数组的下标来用,当该字符出现一次,其对应的数组下标+1;最后在看看数组中那个数最高就知道了,

㈤ 怎么用c语言统计一个字符串中出现最多的字母,并输出这个字符出现的次数

摘要 构建一个循环,从头到尾扫描字符串,比如abcabcd,首先判断所扫描的字符是否出现过,若没出现过,构建一个变量,初始值为一(变量与字母一一对应,变量的值即为该字符出现的次数);若出现过,使其所对应的变量加一。循环结束以后,比较这几个变量的大小,可以用冒泡法或快排,将最大值输出。具体程序并不复杂,相信楼主可以完成,楼下那个开数组的方法比较浪费内存,不建议使用。