评委评分程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

贵州工程应用技术学院

综合设计

(程序设计实践与技巧)

班级:

姓名:

同组实验者:

成绩:

选题名称:评委评分程序

2015年 6 月 27 日

综合性实验

一、实验目的

1、掌握良好的程序设计风格

2、掌握合理选择数据结构的方法

3、进一步熟悉界面设计,函数接口设计

4、进一步掌握测试技巧。

5、进一步熟悉排错方法

二、实验环境

1、多媒体教室

2、C语言编译环境如vc++6.0

三、实验内容及要求

1、输入若干评委的姓名和给一名歌手打分的成绩,计算选手最后得分,选手最后得分是:总分减去一个最高分和一个最低分后的平均分。

2、要求:

1)分数用随机数产生

2)良好的程序设计风格

a、标识符命名合理、可采用匈牙利命名法

b、注释易于理解无歧义

c、必要的缩进

d、语句书写符合主流习惯

3)函数及函数接口设计合理。

a、一个函数实现一个功能,一个函数中不要做太多功能

b、思考函数参数个数及类型的确定,尽量做到信息隐藏

4)选择的数据结构可采用动态结构体数组,根据实际需要可增长数组

5)测试环节,需要有具体的测试方案,测试的目的主要是尽量发现潜在的错误,采用等价类测试和边界测试,测试方案可以用列表列出来,表格采用毕业论文中习惯用的三线表

四、问题分析

1、根据随机数的产生方法,得到随机产生的评委所打的分数,控制分数的取值范围,即srand((unsigned)time(NULL)); //产生随机种子和k=rand()%100; //产生随机数

2、最大、最小分数的比较、获得,运用打擂台的方法。

例如:if(max

max=a[i];

五、程序清单

1、

#include "stdio.h"

#include "time.h"

#include "stdlib.h"

float score;

}PEOPLE[100];

void main()

{

int i,n,k;

float n1,n2,s,t;

float *a;

printf("\n输入评委数量:\n");

scanf("%d",&n);

srand((unsigned)time(NULL)); //产生随机种子

printf("\n评委姓名:\n");

for(i=0;i

{ scanf("%s",PEOPLE[i].name);

k=rand()%100; //产生随机数

PEOPLE[i].score=k;

}

for(i=0;i

{

printf("\n分数:");

printf("%f\n",PEOPLE[i].score);

}

for(i=0;i

for(i=1;i

if(n1

n1=PEOPLE[i].score;

n2=PEOPLE[0].score;

for(i=1;i

if(n2>PEOPLE[i].score)

n2=PEOPLE[i].score;

s=0;

for(i=0;i

s=s+PEOPLE[i].score;

if(n==1) //得到平均分t

t=s;

if(n==2)

t=s/2;

if(n>=3)

t=(s-n1-n2)/(n-2);

printf("%f\n",t);

}

2、

#include "stdio.h"

#include "time.h"

#include "stdlib.h"

float score;

}PEOPLE[10];

main()

{

int i,n,k;

float n1,n2,s,t;

float *a;

printf("\n输入评委数量:\n");

scanf("%d",&n);

srand((unsigned)time(NULL));

printf("\n评委姓名:\n");

for(i=0;i

{ scanf("%s",PEOPLE[i].name);

k=rand()%100;

PEOPLE[i].score=k;

}

for(i=0;i

{

printf("\n分数:");

printf("%f\n",PEOPLE[i].score);

}

for(i=0;i

n1=PEOPLE[0].score;

for(i=1;i

if(n1

n1=PEOPLE[i].score;

n2=PEOPLE[0].score;

for(i=1;i

if(n2>PEOPLE[i].score)

n2=PEOPLE[i].score;

s=0;

for(i=0;i

s=s+PEOPLE[i].score;

if(n==1)

t=s;

if(n==2)

t=s/2;

if(n>=3)

t=(s-n1-n2)/(n-2);

scanf("%f",&t);

if(t<1||t>100)

printf("分数取值不合法");

else if(1<=t<=100)

printf("分数取值合法");}

相关文档
最新文档