你需要定义一个结构作存储歌手信息比如:
typedef struct singern个歌手可以用结构链表也可以用结构数组。
m个裁判直接用数组。
打分可以用循环取随机数rand()%10+1(记得初始化srand(time(NULL)))。
打分去最高最低分,和最终排名,都用冒泡排序就可以了。
至于结果保存,如果只是模拟,存在结构变量就行。如果要仿真,写文件读取,写入文本保存。或建数据库表,保存数据库中。
这种题目,第一步是把问题,转换为要求
翻译一些题目,大概就是这些:
能够录入参赛人员的信息。
输入参赛选手的分数。
计算选手的分数。去掉最低,最高分数求平均值。
判断一组数值大小,找出最大最小值。
能够查阅选手的分数。
根据选手的分数进行排名
把前三名的信息公布出来
保存结果
,,,,(还有其他隐含要求,就不说了,看个人的语文理解能力了)
要求整理出来之后,根据每个要求设置函数。这就是把编程题模块化,能够大大较少问题的困难程度,而且便于理清头绪
1.需要一个能够输入数据的函数。能用scanf解决
2.同上,差不太多。
3.一个计算分数的程序。需要输入m个裁判的分数。这里还需要调用第四个函数。
4.判断一组数值大小的函数。
5.查询的函数。根据索引值(姓名或者编号),将其与所有数据的姓名或者编号对比,相等就查到了。
6.排序函数。
7.这个不需要函数,排序完输出就行了。
8.写入写出函数。
,,,,肯定还需要其他函数,在编程中就需要你自己来发现了。再下一步就是具体的写函数的步骤了。
写这些是大致滤清一个头绪,如何把实际问题,转化为编程问题。思绪理清了,编程就好编了,如果没有理清头绪,最好不要开始遍,会浪费时间,把问题复杂化,花很多时间也编不出来,最后得出编程毁一生的结论。