qq_39677327 2022-03-31 21:24 采纳率: 97.4%
浏览 23
已结题

算法与数据结构:统计各字母频率的算法,程序已有,其中有几个代码不懂,望解答

void Letter_Frequency(string * text)
{
//统计给定文本text中每个字母出现的频率
char alph[]={"abcdefghijklmnopqrstuvwxyz"};
float freq[26]={0};
int total=0;
int n,i;
n= len(text);
string c;
for(i=0;i<n;i++)
{
SubStr(&c,text,i,1);
if(Index(alph,c)>0)
{
total++;
alph[(int)(c.ch[0]-'a']++;
}
}
for(i=0;i<26;i++)
{


freq[i]=alph[i]/total;
if(freq[i]!=0)
printf("%c:%f\n",(char)(i+(int)'a'),freq[i];
}
}

**算法代码如上或者如下图,不是很理解这个代码,比如其中的
SubStr(&c,text,i,1);
if(Index(alph,c)>0)

total++;
alph[(int)(c.ch[0]-'a']++;**
这一串代码不是很理解,还有
freq[i]=alph[i]/total;
if(freq[i]!=0)
printf("%c:%f\n",(char)(i+(int)'a'),freq[i];
这一些不是很理解,有专家说一下原理吗

img

img

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 4月8日
      • 已采纳回答 3月31日
      • 创建了问题 3月31日

      悬赏问题

      • ¥15 postman测试正常,在代码运行报错
      • ¥15 关于#C语言#的问题,如何解决?
      • ¥20 Vs2017 Help Viewer2.3 问题
      • ¥35 基于嵌入式linux的日程管理软件
      • ¥50 如何将list字符串添加到CSV文件表头?
      • ¥15 关于#javascript#的问题:通过ajax实现的局部刷新 如何将项目打包
      • ¥15 海思uboot USB3.0无法识别
      • ¥15 无法调用库文件,自己可以找到,但编译时显示没有
      • ¥15 安装PyQt5的时候这里创建虚拟环境是哪里?具体是怎么的?能录个视频吗
      • ¥20 php程序设计题不会!求解答!