C语言 程序 去最高最低分的评分 , 偏心和不偏心的评分
来源:互联网 发布:nx三维软件 编辑:程序博客网 时间:2024/05/19 02:27
4.歌星大奖赛
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
*问题分析与算法设计
这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。
下面是我写的程序,在输入时算出最大最小的是第几个,再算平均分,然后再输出。
#include <stdio.h>
#define N 10
int main()
{
int sco[N];
int i;
int re = 0;
int max = 0;
int min = 0;
for(i = 0;i < N;i++)
{
printf("请输入第%d个评委的打分\n",i + 1);
scanf("%d",sco + i);
if(sco[max] < sco[i])
{
max = i;
}
if(sco[min] > sco[i])
{
min = i;
}
}
for(i = 0;i < N;i++)
{
if(i != min && i != max)
{
re = re + sco[i];
}
}
re = re / (N - 2);
printf("the score = %d\n",re);
return 0;
}
这是答案的程序:输入的同时算最小最大值和和,然后再输出,比我的程序时间效率高。
#include<stdio.h>
int main()
{
int integer,i,max,min,sum;
max=-32768; /*先假设当前的最大值max为C语言整型数的最小值*/
min=32767; /*先假设当前的最小值min为C语言整型数的最大值*/
sum=0; /*将求累加和变量的初值置为0*/
for(i=1;i<=10;i++)
{
printf("Input number %d=",i);
scanf("%d",&integer); /*输入评委的评分*/
sum+=integer; /*计算总分*/
if(integer>max)max=integer; /*通过比较筛选出其中的最高分*/
if(integer<min)min=integer; /*通过比较筛选出其中的最低分*/
}
printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);
printf("Average score:%d\n",(sum-max-min)/8); /*输出结果*/
}
*思考题
题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均分)和最不公平(即与平均分的差距最大)的评委,程序应该怎样实现?
最不偏心的我用循环来找出与平均分差距最小的,再循环中需要判断是大于0还是小于0,最偏心的我在最大值和最小值中找出。
#include <stdio.h>
#define N 10
int main()
{
int sco[N];
int i;
int tmp;
int bias_g = 0;
int bias_b = 0;
int re = 0;
int max = 0;
int min = 0;
for(i = 0;i < N;i++)
{
printf("请输入第%d个评委的打分\n",i + 1);
scanf("%d",sco + i);
if(sco[max] < sco[i])
{
max = i;
}
if(sco[min] > sco[i])
{
min = i;
}
}
for(i = 0;i < N;i++)
{
if(i != min && i != max)
{
re = re + sco[i];
}
}
re = re / (N - 2);
tmp = (sco[0] - re >= 0) ? sco[0] - re : re - sco[0];
for(i = 0;i < N;i++)
{
if(sco[i] - re < 0)
{
if(re - sco[i] < tmp)
{
bias_g = i;
tmp = re - sco[i];
}
}
else
{
if(sco[i] - re < tmp)
{
bias_g = i;
tmp = sco[i] - re;
}
}
}
bias_b = (re - sco[min]) < (sco[max] - re) ? max : min;
printf("the score = %d\n",re);
printf("最偏心的是第%d个评委\n",bias_b + 1);
printf("最不偏心的是第%d个评委\n",bias_g + 1);
return 0;
}
一个在努力中的未来程序员,如果有更好的想法,欢迎评论。
- C语言 程序 去最高最低分的评分 , 偏心和不偏心的评分
- 计算考核系统超出10人评分后去掉10%最高最低分的平均分
- 偏心
- 偏心的父母,值不值得孝顺
- 如何实现对C程序的评分??
- 豆瓣评分最高的250部书
- 惯性矩和偏心距描述器
- IMDB评分最高的前50部动画电影
- IMDB评分最高的前50部动画电影
- C语言编程:青年歌手参加歌曲大奖赛,有10个评委打分(满分10分),去掉最高最低分后,试编程求选手的平均得分
- SQL 查找每年评分最低或最低的项目 并排序
- 偏心圆极坐标方程的一二三阶导函数零点研究
- 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均
- cocos2d ccsprite 偏心转动
- Android dialog标题换行和去应用市场给自己的app评分
- Lucene的评分机制
- Lucene的评分机制
- Lucene的自定义评分
- js数据类型+js作用域
- 大型系统重构的步骤简单梳理
- Using multiple UIWindows in iOS applications
- Content-disposition中Attachment和inline的区别
- html、htm、shtml的区别
- C语言 程序 去最高最低分的评分 , 偏心和不偏心的评分
- Android之Adapter用法总结
- 七年阿里老人谈新人程序员的成长
- ChemDraw生成化学性质报告的方法
- Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
- 神舟笔记本开机设置U盘启动方法 bios设置
- Redis 配置【暂时没分win和Linux】
- 从mms源码看IM应用的架构<一>
- 将数据中的null 替换成""