歌星大奖赛系统—C语言.docVIP

  • 5
  • 0
  • 约1.42千字
  • 约 6页
  • 2019-09-15 发布于江苏
  • 举报
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)

1亿VIP精品文档

相关文档