【发布时间】:2011-02-16 03:52:17
【问题描述】:
我有一个函数应该计算一个字母在句子中出现的次数,并基于此计算它在句子中出现的概率。为此,我有一句话:
华盛顿都会区是美国受教育程度最高、最富裕的都会区。
结构数组,包含字母、出现次数和出现概率,每个字母字符都有一个结构,标点符号和空格有一个附加结构:
struct letters
{
char letter;
int occur;
double prob;
}box[53];
这是函数本身:
void probability(letters box[53], int sum
{
cout<<sum<<endl<<endl;
for(int c8=0;c8<26;c8++)
{
box[c8].prob = (box[c8].occur/sum);
cout<<box[c8].letter<<endl;
cout<<box[c8].occur<<endl;
cout<<box[c8].prob<<endl<<endl;
}
}
正确识别出第一行句子中有90个字母,按照for循环第二行的结构打印出大写字母,打印出出现次数。它不断地为概率打印 0。我做错了什么?
【问题讨论】:
-
“圣何塞-旧金山-奥克兰在学士和硕士学位方面的教育程度位居第二,家庭收入中位数仅次于华盛顿-巴尔的摩-北弗吉尼亚”该死的华盛顿; )
-
大声笑,我希望在完成计算机科学学位后加入公务员队伍时,能分到最高收入中位数。
标签: c++ probability character letters