#include<stdioh>
#include<stringh>
#include<iostream>
using namespace std;
void main()
{
char str[200];
int freq[26]={0};
int n_max=0;
gets(str);
for(int i=0;i<strlen(str);i++)
{
if(str[i]>='a'&&str[i]<='z')
n_max=max(++freq[str[i]-'a'],n_max);//应该是str[i]-'a'
else if(str[i]>='A'&&str[i]<='Z')
n_max=max(++freq[str[i]-'A'],n_max);//应该是str[i]-'a'
}
while(n_max)
{
for(int i=0;i<26;i++)
{
if(freq[i]==n_max)
{
cout<<char('a'+i)<<"\t"<<n_max<<endl;
}
}
n_max--;
}
}
看我旁边做的注解
cnt(s,array); /调用子函数cnt,并传给参数s, array。s是字符数组,相当于字符串指针;array是数组好理解/
for(i=0;i<26;i++)
printf("%d",array[i]); / for循环 依次输出26个字母出现的次数。这里%d后面加个空格或逗号分隔才好 /
printf("\n");
子函数
void cnt(char p,int arr[]) / 第一个参数是字符串指针,第二个参数是整型数组 /
{
int i;
for(i=0;i<26;i++) /数组初始化/
arr[i]=0; / 26个字母的个数全初始设置为0 /
while(p) / 循环,p表示取指针p所指的字符,如果为0则表示字符串结束,退出循环 /
{
if(p>='a'&&p<='z') /数组元素判断/ / 判断是否是a到z的字母,若是才统计/
arr[p-'a']++; /p与字母a的差值刚好就是数组arr下标/ / 字母a对应数组的下标是0, b是1,依次类推 /
p++; / 指针加1, 指向后面一个字符 /
}
}
这样可以么?
这个貌似比较难,可以尝试自己编程序检测,要用到文件的输入输出。但是用电脑做的话,时间也不会太长,就是需要从头扫描到尾
我尝试用c++做了以下,经过努力,目前已经差不多了,如果想要做,得把你的文件转换成txt的,这样就可以尝试进行了。不过这个工作还是比较麻烦的,所以一定的酬劳应该不是过分的要求
给你看一个统计结果:
经过对输入文本的检测分析,本次分析结果如下
总字符数1372
汉字数目(含中文标点):684字母数目:0英文标点数目:4
以上三项均不属于的字符数:0
对于三非字符不做详细讨论,下面是其余三项的统计结果
用到的不同汉字数目(含中文标点)为:257
不重复汉字及其出现频数、频率如下
新10146199%
华10146199%
社10146199%
伦10146199%
敦10146199%
810146199%
10146199%
日20292398%
奥10146199%
运40584795%
专30438596%
电10146199%
记10146199%
者10146199%
吴10146199%
俊10146199%
宽10146199%
、20292398%
岳10146199%
东10146199%
兴10146199%
国50730994%
家30438596%
体10146199%
育10146199%
总10146199%
局10146199%
田20292398%
管20292398%
中7102339%
心40584795%
主20292398%
任20292398%
杜20292398%
兆20292398%
才20292398%
和10146199%
副10146199%
冯30438596%
树30438596%
勇30438596%
810146199%
战10146199%
邮10146199%
懿10146199%
煞10146199%
檬10146199%
彼10146199%
担10146199%
10146199%
跸10146199%
10146199%
510146199%
蚴10146199%
苌10146199%
舜10146199%
渴10146199%
粢10146199%
馔10146199%
猓10146199%
10146199%
奕10146199%
饲10146199%
科10146199%
人40584795%
10146199%
鋈10146199%
10146199%
!10146199%
11160819%
∷10146199%
10146199%
腔10146199%
谷10146199%
啡10146199%
希20292398%
10146199%
10146199%
比30438596%
赛9131579%
右20292398%
脚20292398%
跟30438596%
腱30438596%
断30438596%
裂30438596%
的14204678%
刘10146199%
翔10146199%
将20292398%
在40584795%
英30438596%
接30438596%
受50730994%
手40584795%
术40584795%
。14204678%
*** 10146199%
刀10146199%
医11160819%
生50730994%
是7102339%
给10146199%
贝20292398%
克20292398%
汉20292398%
姆20292398%
等20292398%
治20292398%
疗50730994%
过20292398%
名20292398%
他40584795%
们30438596%
表30438596%
示20292398%
,12175439%
遭10146199%
遇10146199%
突10146199%
如20292398%
其10146199%
来20292398%
伤50730994%
纯10146199%
属10146199%
意20292398%
外20292398%
绝10146199%
不20292398%
会40584795%
明10146199%
知30438596%
有50730994%
还20292398%
要20292398%
逼20292398%
着20292398%
出20292398%
针10146199%
对20292398%
界10146199%
为40584795%
何10146199%
坚10146199%
持10146199%
参30438596%
质10146199%
疑20292398%
解10146199%
释10146199%
说10146199%
:10146199%
“20292398%
前20292398%
充10146199%
满10146199%
信10146199%
认10146199%
预10146199%
没20292398%
问20292398%
题20292398%
自10146199%
己10146199%
本20292398%
身10146199%
也10146199%
识10146199%
到20292398%
这20292398%
么20292398%
严10146199%
重10146199%
产10146199%
果10146199%
我30438596%
道10146199%
现10146199%
情10146199%
肯10146199%
定20292398%
阻10146199%
止10146199%
更10146199%
可10146199%
能10146199%
加10146199%
保10146199%
护10146199%
动30438596%
员20292398%
第10146199%
一20292398%
原10146199%
则10146199%
”10146199%
透10146199%
露10146199%
选10146199%
目10146199%
已10146199%
经20292398%
基10146199%
确20292398%
该10146199%
学10146199%
领10146199%
域10146199%
曾10146199%
多20292398%
位10146199%
实20292398%
施20292398%
最30438596%
近10146199%
两10146199%
天10146199%
内10146199%
进20292398%
行20292398%
后20292398%
场10146199%
了10146199%
初10146199%
步10146199%
检20292398%
查20292398%
当20292398%
时10146199%
就10146199%
怀10146199%
随10146199%
被10146199%
送10146199%
往10146199%
院20292398%
核10146199%
磁10146199%
共10146199%
振10146199%
诊10146199%
代10146199%
团10146199%
马10146199%
上10146199%
同10146199%
地10146199%
机10146199%
构10146199%
联10146199%
系10146199%
望10146199%
找10146199%
好20292398%
年10146199%
直10146199%
^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
用到的不同字母数目为:0
不重复字母及其出现频数、频率如下
@_@$$$$$$$$$$$$$$$$$$$$$$@_@$$$$$$$$$$$$$$$$$$$$$$$$$@_@
用到的不同英文标点数目为:2
不重复英文标点及其出现频数、频率如下
(250%
)250%
此次统计结束,谢谢您的使用
^_^ T_T ^#^ Q_Q O_O P_P R_R S_S W_W M_M
进行计算的文本是:
新华社伦敦8月8日奥运专电(记者吴俊宽、岳东兴)国家体育总局田管中心主任杜兆才和副主任冯树勇8日接受采访时说,刘翔35万受伤纯属意外,无人强迫他出赛。他们还确认,在7日比赛中右脚跟腱断裂的刘翔将在英国接受手术。 *** 刀的医生是给贝克汉姆等人治疗过的名医。他们表示,刘翔在比赛中遭遇突如其来的受伤纯属意外。田管中心绝不会明知刘翔有伤,还要逼着他出赛。针对外界对为何刘翔有伤还要坚持参赛的质疑,冯树勇解释说:“赛前刘翔充满信心,认为预赛是没有问题的。他自己本身也没有意识到会有这么严重的问题产生。如果我们知道会出现伤情肯定会阻止他参赛的,更不可能逼着刘翔参加比赛。保护运动员是我们的第一原则。”杜兆才透露,医生人选目前已经基本确定。该医生是英国人,是运动医学领域中的专家,曾经为贝克汉姆等多位知名运动员实施过手术。刘翔的手术将在最近两天内进行。冯树勇表示,刘翔受伤后在赛场医疗中心接受了初步检查,当时就怀疑是跟腱断裂。随后刘翔被送往医院接受核磁共振检查,确诊是右脚跟腱断裂。中国代表团的医疗专家马上同英国当地医疗机构进行联系,希望为刘翔找到最好的医院、最好的医生实施手术治疗。“这么多年来我一直很佩服他能够静下心来,”杜兆才说。“刘翔29岁了,是个名人,但他依然能够耐得住寂寞,每天坚持训练场、食堂、宿舍三点一线的生活。刘翔承载着巨大的期待和压力,他真的已经尽心尽力了。”他说:“刘翔是一个参加了三届奥运会的老队员,特别是在四年过程中,他经历了治疗、康复,成绩又提高到一个很高的水平。昨天的伤病纯属意外,但是他在受伤后所展现出的精神价值远远大于金牌的价值。”(完)
以上就是关于c++统计字符串中各字母频率,输入完数据,按下回车,不显示预期的结果,而是直接退出,程序如下全部的内容,包括:c++统计字符串中各字母频率,输入完数据,按下回车,不显示预期的结果,而是直接退出,程序如下、c语言 统计字母频率、如何对一篇长达十几万字的文本进行“汉字字符频率统计”(比如统计“在”的出现频率。)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)