学生考试成绩判定问题(赫夫曼树应用)
学生成绩 <60, 60-70, 70-80, 80-90, >90 分布概率分别为:5,15,40,30,10。请编制一个将要百分制转换成五分制的程序,<60, 60-70, 70-80, 80-90, >90 分别的分是:'bed''pass''general''good''excellent'。
已经构造出了赫夫曼最优二叉树如下:
请问:怎么来写if...else....程序?
[解决办法]
如果把比较次数作为主要考虑因素的话(占用很多运算时间)确实应向http://61.178.59.209/kj/jinchang/date/5.4.1.htm 所描述的处理
如果不考虑比较次数(认为比较操作占用运算时间和找到后的处理时间相比可以忽略的话)还是应该向我给出的哈夫曼树结果。
if (a<80)
{
if (a<70)
{
if (a<60)
printf("不及格");
else
printf("及格");
}
else
printf("中等");
}
else
{
if (a<90)
printf("良好");
else
printf("优秀");
}