1
C语言程序设计
1.8.9 7.9 程序举例

7.9 程序举例

例7-19 全国电视歌手大奖赛共有n名选手参加最后决赛,邀请m位评委参加评分。

要求:

(1)评分标准:去掉两个最高分和两个最低分后取平均分。

(2)每位参赛选手演唱完毕,现场显示每位评委评分和选手的最后得分。

(3)比赛结束后,从高分到低分,显示所有参赛选手的成绩。

程序如下:

//7-19.cpp

#include 〈stdlib.h〉

img622

img623

运行结果如图7.9.1所示。

img624

图7.9.1 电视歌手大奖赛程序运行结果

说明:

由于不知道参赛选手和评委人数,采用动态数组,因此该程序是一个通用程序,可适用于各种不同类型的比赛评分。程序运行时,依次输入每位评委的打分,通过对分数排序去掉两个最高分和两个最低分,然后取平均分,并当场显示选手的最后得分。

例7-20 将一个十进制整数转换成二~十六进制数中的任意一种进制数。

//7-20.cpp

#include 〈stdio.h〉

img625

运行结果如图7.9.2所示。

img626

图7.9.2 数制转换结果

说明:

程序中定义了4个外部变量,其作用域为程序的所有函数,从而实现在函数之间的参数传送。字符数组base被初始化为'0'~'F',这是2~16进制数中可能使用到的16个不同的数字符号。在输出转换后的数制时,通过for语句按逆序逐个取出数组c的值,用该数组元素的值作为字符数组base的下标,从base数组中取出对应的字符并在屏幕上显示出来。例如,如果数组元素c[1]中存放的数为10,则以10为下标,从字符数组base[10]中取出'A'并显示在屏幕上。