用C语言编程:歌手大奖赛有10名评委打分,去掉一个最高分、去掉一个最低分,求选手的平均分。

作者&投稿:饶放 (若有异议请与网页底部的电邮联系)
编程,某歌手大赛有10位选手10位评委要求评委给10位选手打分去掉一个最低分去掉一个最高分求出平均分~

1、首先,定义一个整型变量num,保存评委的人数。

2、接着,定义5个实型变量,保存所打的分数、最低分、最高分、总分和平均分。

3、初始化最低分和最高分,最低分为1000分,最高分为0分。

4、接着,设置总分分数,值为0。

5、输入评委的人数,保存在变量num中。


6、然后,提示输入评委的打分。

7、执行for循环语句,条件为i小于等于num。

8、运行程序,输入各评委的打分后,就会计算出节目的最后得分。

代码如下
#include
using namespace std;
int main()
{int a[10],f[10],i,k,m,n,b,c,y,p,q,d,average,h,g;
cout<<"输入十位评委按顺序的打分:";
for(i=0;i<10;i++)
{cin>>a[i];
}
for(b=0;b<10;b++)
{while(a[b]>100||a[b]<0)
{cout<<"选手得分超出规定范围,请第"<<b+1<<"位评委重新打分!"<<endl;
cin>>a[b];
}
}
m=a[0];n=a[0];
for(k=0,c=0;k<9;k++)
{
if(m<=a[k+1]) m=a[k+1];
if(n>=a[k+1]) n=a[k+1];
c=c+a[k];
}
c=c+a[9];
y=c-m-n;

average=y/8;
for(p=0;p<10;p++)
{f[p]=a[p]-average;
if(f[p]<0) {f[p]=-f[p];}
}
q=f[0];d=f[0];
for(k=0,h=1;k<9;k++)
{
if(q<=f[k+1]) q=f[k+1] ,h=k+2;
if(d>=f[k+1]) d=f[k+1],g=k+2;
}
cout<<"选手的平均分是"<<average<<endl;
cout<<"最公平评委是第"<<g<<"位评委。"<<endl;
cout<<"最不公平评委是第"<<h<<"位评委。"<<endl;
return 0;
}

C语言代码技巧
1、使用合适的条件语句
除代码的可读性之外,程序的执行时间还主要依赖于做决定时所选择的条件结构类型。许多硬件工程师都熟悉简单的if语句的使用。然而,有时工程师可能没有意识到,如果第一个条件不正确,还可以使用else或else if语句。
2、用If/Else替代只用If
If/else if/else语句可能并不永远适用。如果需要检查若干个可能的条件,switch语句可能更合适。这样,处理器可以评估语句,然后从一个答案列表中选择下一步动作,而不用连续地评估一堆条件。

#include<stdio.h>
int s_min(int a[]);
int s_max(int a[]);
main()
{
float a[10],min,max,s=0;//定义一个数组用来存放10个评委的分数。定义的min,max,是用来超查找最高分和最低分的。
int i;
printf("请输入10个评委的分数:\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
min=s_min(a);
max=s_max(a);//调用函数找出低分和最高分。
printf("去掉一个最高分%g,去掉一个最低分%g\n",max,min);
for(i=0;i<10;i++)
if(a[i]!=min&&a[i]!=max) //把最高分和最低分不计算进去
s=s+a[i];
printf("最后的得分是%g\n",s/8);

}
float s_min(float a[])
{
int i;
float min=a[0];
for(i=0;i<10;i++)
if(a[i]<min)
min=a[i];
return min;
}
float s_max(float a[])
{
int i;
float max=a[0];
for(i=0;i<10;i++)
if(a[i]>max)
max=a[i];
return max;
}

#include<stdio.h>
#include<math.h>
void main()
{ int max(float b[]);
int min(float b[]);
int k,m;
printf(" 评分系统\n");
printf("************************************************************\n");
int i;
float sum=0;
float a[10];
for(i=0;i<=9;i++)
{
printf("%d号评委的评分是:",i+1);
scanf("%f",&a[i]);

sum+=a[i];

}printf("\n\n");
k=max(a);
m=min(a);
printf("---------------------------------------\n");
printf("评委 1 2 3 4 5 6 7 8 9 10\n");
printf("---------------------------------------\n分数");
for(i=0;i<10;i++)
{
printf("%g",a[i]);
}
printf("\n---------------------------------------\n");
printf("\n最高分是:%g 最低分是:%g\n\n",a[k],a[m]);
printf("删除最高分最低分之后的总分是: %g\n\n",sum-a[k]-a[m]);
printf("这位选手的平均分是:%g\n\n",sum/10);
printf("************************************************************\n\n\n\n");} int max(float b[])//最大值
{ int i,k=0;
float max=b[0];
for(i=0;i<10;i++)
{
if(max<b[i]) {max=b[i];k=i;}
}
return k;
}int min(float b[])//最小值
{
int i,m=0;
float min=b[0];
for(i=1;i<10;i++)
{
if(b[i]<min){min=b[i];m=i;}
}
return m;
}


c语言编程~~~纠结
include <stdio.h> \/* N为参赛歌手的人数 *\/ define N 10 \/* 定义结构体类型struct person表示每位歌手的信息 *\/ struct person { int number; \/\/歌手的编号 int score[6]; \/\/六位评委的打分 float finalScore; \/\/歌手的最终成绩 };int main(void){ int i, j, sum, max, min;struct...

c语言编程题
你需要定义一个结构作存储歌手信息比如:typedef struct singer{ int id;\/\/歌手编号 char name[10];\/\/歌手姓名 。。。\/\/什么地址啊,联系电话啊等等 int score;\/\/歌手最终得分 struct singer *next;\/\/链表指针,如果你是用结构数组,这个成员可以不用 };SIRn个歌手可以用结构...

C语言编程歌手评分
int i, max=0,min=0,sum=0;for(i = 0; i < 10; i ++) { printf("请输入第%d位评委的打分:");scanf("%d", &score[i]);sum += score[i];if(score[max] < score[i]) max=i;else if(score[min] > score[i]) min=i;} \/\/ 打印歌手成绩 for(i = 0; i < 10; i+...

C语言:青年歌手参加歌曲大奖赛,有10个评委对她(他)进行打分,试编程求...
青年歌手参加歌曲大赛奖,有十个评委对他进行打分。这个都是有内幕的,除非你有后门儿,发就会很高。

c语言程序设计 :有8个评委,5个歌手,评委为每个歌手打分。去掉最高分...
include<stdio.h> include<stdlib.h> int main(){ int sum,i,j,score[9][5],max,min,maxp,minp;for(i=1;i<=8;i++){ printf("第%d个评委打分:\\n",i);printf("请依次输入该评委给各位歌手的分数(输入顺序表示歌手编号):");for(j=0;j<5;j++){ scanf("%d",&score[i][j])...

C语言:定义一个数组,从键盘输入20位评委为某歌手的评分,去掉最高分和...
include<stdio.h> define Singer 5 \/\/歌手数 int main() { int score[20] ;\/\/分数 int max,min,i,j,sum;\/\/max为最高分,min为最低分 double ave;for(i = 0;i < Singer;i++) { max=0;min=999;sum=0;for(j=0;j<20;j++) { scanf("%d",&score[j]);if(score[j]<min...

C语言编程:十个评委分别为十位歌手评分,去掉一个最高分,去掉一个最低...
(buf[i] < min){index = i;}}return index;}int main(void) {int score[NUM] = {0};int maxIndex = 0, minIndex = 0;double avr = 0.0;for (int i=0; i<NUM; i++){printf("输入第%d位歌手分数:", i + 1);scanf("%d", score + i);}maxIndex = findMax(score);...

c语言程序设计 :有8个评委,5个歌手,评委为每个歌手打分。去掉最高分...
ave[i]=(sum-max-min)\/(pw-2);\/*(累加值-最大值-最小值)\/(评委总数-2)*\/ printf("avepoint of gs[%d]:=%d\\n",i+1,ave[i]);\/*输出每个歌手的评价分数*\/ } getch();} 以下是在运算中输入分数:define pw 8 \/*评委数目*\/ define gs 5 \/*歌手数目*\/ main(){ int i,j...

C语言题:十个评委给歌手打分,去掉一个最高分与最低分求最后得分_百度知 ...
include <stdio.h>#include <conio.h>#define ARR_LEN 255 \/*数组长度上限*\/#define elemType float \/*元素类型*\/\/* 冒泡排序 *\/\/* 1. 从当前元素起,向后依次比较每一对相邻元素,若逆序则交换 *\/\/* 2. 对所有元素均重复以上步骤,直至最后一个元素 *\/\/* elemType arr[]: 排序目标数组...

c语言歌手评分系统
以前做过一个类似的 需要的话可以给你参考参考

焉耆回族自治县18228417435: C语言程序设计1)在青年歌手大奖赛中,有10个评委为参赛的5选手打分,分数为1~100分.选手最后得分为:去掉一个最高分和一个最低分后其余8个分数... -
少初养血:[答案] #include #define JUDGER 5 #define PLAYER 3 void sort(float *player, int num) { for (int i=0; iplayer[j+1]) { float tmp = player[j]; player[j] = player[j+1]; player[j+1] = tmp; } printf("由高到低成绩排...

焉耆回族自治县18228417435: 关于C程序,就是青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分. -
少初养血: #include <stdio.h> void main() {/*你的程序除了这个问题外还有其他的问题*/int sum=0,i,b;double avg;//定义浮点型,才能保存下来小数int a[10];int max,min;for(i=0;i<10;i++){scanf("%d",&a[i]);if(i==0)//这个判断加上初始,不然的...

焉耆回族自治县18228417435: 用c语言打出“在电视歌手大奖赛中,任意输入10名选手的成绩,找出其中最高分”的代码 -
少初养血: #include main() {int a[10];int Max; int i; printf("输入10名选手的成绩,用逗号隔开");scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&a[0],……&a[9]); Max =a[0]; for(i=0;i { if(a[i] >Max) { Max =a[i]; } } printf("最高分是 %d",Max); } 纯手打啊…………

焉耆回族自治县18228417435: 1、在电视歌手大奖赛中,任意输入10名选手的成绩,找出其中最高分. 用函数实现,C语言做出来 -
少初养血: #include <stdio.h> int smax(int a[]) { int i,max=0; for(i=0;i<10;i++) { if(a[i]>max) max=a[i]; } return max; } int main() { int max,i; int a[10]; printf("输入10名选手的成绩:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); max=smax(a);printf("成绩最高的是:%d\n",max); }

焉耆回族自治县18228417435: C语言编程:十个评委分别为十位歌手评分,去掉一个最高分,去掉一个最低分,求剩下分数的平均值 -
少初养血: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62#include <stdio.h> #include <stdlib.h>#define NUM 10...

焉耆回族自治县18228417435: C语言编程题目,关于十个评委给选手打分的问题,去掉一个最高分和最低分,然后求平均分 -
少初养血: #include#define N 10 void input(int score[],int length); void ovwrscore(int score[],int length); void input(int score[],int length) {int i; for(i=0;j { prihtf(“输人分数%d=",i+1); scanf("%d ,&score[i]); int averScore(int score[], int length) { int i, max, min,sum; ...

焉耆回族自治县18228417435: C编程在歌星大奖赛中有10个评委为参赛选手打分 分数为1~100选手得分为去掉最高分和最低分的平均值
少初养血: 似乎你的comments不正确阿: 印象里应该是int类型的数据范围是:[-32768,+32767],if sizeof(int) == 2

焉耆回族自治县18228417435: C语言编程题:歌唱比赛十个评委打分,请求出其中的最高分和最低分并进行输出(要求从键盘接收数据).
少初养血: #include <stdio.h> void main(){ int a[10]; int j,max; int n = 10; int i=0; printf("请打分:\n"); while(n--) { scanf("%d",&a[i]); i++; } max = a[0]; for(j=1;j<10;j++) { max = max>a[j]?max:a[j]; } printf("%d\n",max);}上面那个只输出了最大值. #...

焉耆回族自治县18228417435: 青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求每位选手的平均分; -
少初养血: #e799bee5baa631333264636331include <stdio.h> #include <stdlib.h> #include <time.h> void bubble_sort(int a[],int n) {int i,j, itmp;for (i =0; i<n;i++){for(j=i+1 ;j<n;j++){if( a[i] >= a[j]){itmp = a[j];a[j] = a[i];a[i] = itmp;}}} } int main( int argc, ...

焉耆回族自治县18228417435: c语言程序设计的一道题
少初养血: #include<stdio.h> void main() { float a[10],t,sum=0,average; int i,j; printf("各评委给歌手打分:\n"); for(i=0;i<10;i++) scanf("%f",&a[i]); for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } printf("排序后歌手的得分:\n...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网