文档介绍:21
兰州交通大学新能源与动力工程学院
课程设计
课程名称 c语言课程设计
题目评分系统设计
专业电力工程与管理
班级 1101
学号 201110836
姓名刘宝华
成绩
指导老师胡建宏
2012年 06 月 27 日
课程设计任务书
设计题目:设计比赛评分系统(给分原则:满分为10分;裁判给出分数后,去掉一个最高分和一个最低分后的平均分为选手的最后得分(精确到小数点后两位)。)
设计目的;
巩固和加深课堂所学知识;
将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的能力;
学会编制结构清晰、风格良好、数据结构选择恰当的c语言程序;
设计任务:
功能:
设参赛人数为24人,裁判人数为8位;
录入参赛人员的资料和得分情况,最后得分;
按最后得分结果从高分到低分排序;
公布一、二、三等奖的得奖选手名单;
此系统能够查询选手的得分情况。
具体要求:
题目:
设计目的:
设计内容:写出简要的程序功能描述、程序运行条件所需工具软件、输入输出描述等。
程序结构:函数定义说明;用到的库函数的功能说明、调用关系说明、参数传送方式说明等;主要算法描述等(各模块功能实现)。
设计要求:绘制设计系统的结构层次图,各功能实现的算法、会直接勾画流程图;程序流程图、源程序;设计输入、输出界面。
(1)程序结构设计特点;(2)设计、调试程序心得、体会或不足。
源程序
#include <>
#include <>
#include <>
struct test
{int num;
float s;
};
main()
{
int i,j,k,bad,good;
float ts,sum=0,aver=0,tm[10];
struct test data[10],*p[10],*temp;
do {
sum=0;aver=0;
printf("Input 10 sorces------input 0(exit)\n");
for(i=0;i<10;i++)
{data[i].num=i+1;
scanf("%f",&data[i].s); /*分数的输入部分*/
if(data[0].s==0) printf(0);
}
for(i=0;i<10;i++) tm[i]=data[i].s;
for(i=0;i<10;i++) p[i]=&data[i];
for(i=0;i<9;i++)
{k=i;
for(j=i+1;j<10;j++)
if(tm[k]<tm[j])
k=j;
if(k!=i)
{ts=tm[i];tm[i]=tm[k];tm[k]=ts;
temp=p[i];p[i]=p[k];p[k]=temp;
} /*对输入分值进行排序*/
}
for(i=1;i<9;i++)
sum+=p[i]->s;
aver=sum/8; /*计算平均值的部分*/
printf("\n-----------------\n");
printf("The aver is:%.1f\n",aver);
printf("--------