- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计实习报告
学院:艺术与传媒学院
专业:资讯艺术设计
班级:162104
学号:20101001518
姓名:何智皓
歌星大奖赛系统
题目要求:
(1)、在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
(2)、同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近平均分)和最不公平的评委。
【提示】
这个问题的第一个要求算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。第二个要求为了考虑效率,要用到排序技术。
需求分析
根据题目第一个要求,有10个评委,需要依次输入10个分数,并在10个数中取出最大值和最小值;而且所输入的分数在1到100之间,否则该分数需要重新输入。第二个要求,需要将10个分数分别与去掉最大最小值之后的八个数的平均值进行比较。
总体设计
根据题目要求,定义一个数组,将依次输入的10个分数存入这个数组中,再对数组中的数进行去值、求平均值、差值比较的操作。
详细设计
根据题目要求,将这个程序设计成2个函数,一个主函数main(),另一个函数impartial()用于进行差值比较。
主函数
(1)、流程图
(2)、具体说明
#includestdio.h
#includemath.h
int main()
{
int i;
int integer,average,sum,max,min,max1,min1;
int a[10];
max=-32768;
min=32767;
sum=0;
for(i=1;i=10;i++)
{
printf(请输入评委分数 %d=,i);
scanf(%d,integer);
a[i-1]=integer;
sum+=integer;
if(integermax)max=integer;
if(integermin)min=integer;
}
average=(sum-max-min)/8;
printf(去掉一个最高分:%d\n去掉一个最低分:%d\n,max,min);
printf(平均分为:%d\n,average);
min1=32767;
for(i=0;i10;i++)
{
if(abs(a[i]-average)min1){min1=abs(a[i]-average);}
}
for(i=0;i10;i++)
if(abs(a[i]-average)==min1){printf(最接近平均分的评委分数:%d\n,a[i]);
printf(该评委为数字:%d\n,i+1);}
max1=-32767;
for(i=0;i10;i++)
{
if(abs(a[i]-average)max1){max1=abs(a[i]-average);}
}
for(i=0;i10;i++)
if(abs(a[i]-average)==max1){printf(最不接近平均分的评委分数:%d\n,a[i]);
printf(该评委为数字:%d\n,i+1);}
上机操作
依次输入分数
去掉最高分去掉最低分
输出结果,按任意键退出。
文档评论(0)