易语言数学经典算法求最大值,求最小值,求平均数完成比赛打分
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。
现求出其中一个歌手的最后行分。
问题分析:
要求出歌手的得分,首先将10个评委的分数相加在一起,
接着找出10个评委中的最高分和最低分,将前面求出的和减去这个最高分和最低分,
得出的结果再除以8,最后的结果为歌手的得分。
产生随机分数
.版本 2 置随机数种子 (取启动时间 ()) .变量循环首 (1, 10, 1, 循环变量) 评委评分 [循环变量] = 取随机数 (1, 100) 评委评分标签.标题 = 评委评分标签.标题 + 到文本 (评委评分 [循环变量]) + “,” .变量循环尾 ()
刷新按钮
重新给出评委分数,重新产生随机数。
.版本 2 .子程序 _刷新图形按钮_被单击, , , 重新给出评委分数 .局部变量 循环变量, 整数型 ' 先将原分数清空 评委评分标签.标题 = “” ' 再重新给分分数 .变量循环首 (1, 10, 1, 循环变量) 评委评分 [循环变量] = 取随机数 (1, 100) 评委评分标签.标题 = 评委评分标签.标题 + 到文本 (评委评分 [循环变量]) + “,” .变量循环尾 ()
打分
.版本 2 .子程序 _计算图形按钮_被单击 .局部变量 最高分, 整数型 .局部变量 最低分, 整数型 .局部变量 循环变量, 整数型 .局部变量 总分, 整数型 .局部变量 最后得分, 小数型 ' 先假设当前的最大值评分中的最小值 最高分 = 1 ' 先假设当前的最小值评分中的最大值 最低分 = 100 ' 先将总分清0 总分 = 0 .变量循环首 (1, 10, 1, 循环变量) ' 计算总分,将评委们的评分累加在一起 总分 = 总分 + 评委评分 [循环变量] ' 找出最高分 .如果真 (评委评分 [循环变量] > 最高分) 最高分 = 评委评分 [循环变量] .如果真结束 ' 找出最低分 .如果真 (评委评分 [循环变量] < 最低分) 最低分 = 评委评分 [循环变量] .如果真结束 .变量循环尾 () ' 计算最后得分 最后得分 = (总分 - 最高分 - 最低分) ÷ 8 ' 将得分结果保留两位小数 得分编辑框.内容 = 到文本 (四舍五入 (最后得分, 2))