当前位置:首页 » 编程语言 » 评委打分c语言

评委打分c语言

发布时间: 2025-07-01 12:10:05

c语言题:十个评委给歌手打分,去掉一个最高分与最低分求最后得分

#include<stdio.h>
#include<conio.h>

#defineARR_LEN255/*数组长度上限*/
#defineelemTypefloat/*元素类型*/

/*冒泡排序*/
/*1.从当前元素起,向后依次比较每一对相邻元素,若逆序则交换*/
/*2.对所有元素均重复以上步骤,直至最后一个元素*/
/*elemTypearr[]:排序目标数组;intlen:元素个数*/
voidbubbleSort(elemTypearr[],intlen){
elemTypetemp;
inti,j;
for(i=0;i<len-1;i++)/*外循环为排序趟数,len个数进行len-1趟*/
for(j=0;j<len-1-i;j++){/*内循环为每趟比较的次数,第i趟比较len-i次*/
if(arr[j]>arr[j+1]){/*相邻元素比较,若逆序则交换(升序为左大于右,逆序反之)*/
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}

/*输入数组*/
/*arr[]:输入目标数组;len:元素个数*/
voidinputArray(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
scanf("%f",&arr[i]);
putchar(' ');
}

/*打印数组内容*/
/*arr[]:打印目标数组;len:元素个数*/
voidprintArray(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
printf("%.1f ",arr[i]);
putchar(' ');
}

/*去掉一个最高分,去掉一个最低分,然后求平均分*/
/*arr[]:目标数组;len:元素个数*/
voidcalcArray(elemTypearr[],intlen,elemType*max,elemType*min,float*avg){
inti;
elemTypesum;
bubbleSort(arr,len);/*对数组排序,此后首、尾两元素即待被去掉的一个最高分、一个最低分*/
*max=arr[len-2];
*min=arr[1];
sum=*avg=0;
for(i=1;i<len-1;i++)
sum+=arr[i];
*avg=sum/(len-2);
}

intmain(void){
//elemTypescore[ARR_LEN];/*成绩数组*/
elemTypescore[ARR_LEN]={95.0,88.0,72.0,96.0,74.0};
intlen=5;/*5名评委*/
elemTypemax,min,avg;/*最高分、最低分、平均分*/
inti;

//printf("输入%d名评委打分: ",len);
//inputArray(score,len);

printf("%d名评委打分: ",len);
printArray(score,len);
calcArray(score,len,&max,&min,&avg);
printf("去掉一个最高分: %.1f分 去掉一个最低分: %.1f分 此名选手最终得分: %.1f分",max,min,avg);

getch();/*屏幕暂留*/
return0;
}

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

#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;
}

⑶ C语言,就是青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分。

i应该是整形,所以银禅腔应该将其定义为int i。修改后代码为:

#include <stdio.h>

int main()

{

float x[10],avg,max,min,sum,a;

for (int i=0;i<10;i++)

{

scanf(" %f",&x[10]);

if( i==0)

{

max=x[0];

min=x[0];

}

if (x[i]>max) max=x[i];

if (x[i]<min) min=x[i];

sum+=x[i];

}

a=(sum-max-min)/8;

printf("%.2f",a);

}

(3)评委打分c语言扩展阅读:

for循环注意事项

1、for循环中的变量可以是一个也可以是多个,不要局限于一个变量处理到底,那样有时会很单调,当程序适合把多个变量组成循环时,用多个for语句来表示就是有些浪费;

2、for循环中语句可以为语句体, 语句体外加大括号"{}"将参加循环的语句括起来。for循环的三个表锋衫达式都是逗号表达式,这样来说,其实每个分号表达式可以由几个逗号表达式构成,中间用",”隔开,最后以“;”结束。

3、for循环袭肢中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句, ";"不能缺省的原因是编译格式如此,缺省了编译器不认识而会报错。

网络-for循环

⑷ C语言编程题:歌唱比赛十个评委打分,请求出其中的最高分和最低分并进行输出(要求从键盘接收数据)。

#include<stdio.h>
intmain(void)
{
floata[10],temp;
printf("请输入分数: ");
inti,j;
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])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}

printf("最高分:%.2f 最低分:%.2f ",a[0],a[9]);
return0;
}

热点内容
甘蔗苗存储 发布:2025-07-01 21:47:03 浏览:663
选定文件夹 发布:2025-07-01 21:45:14 浏览:226
数据库或且 发布:2025-07-01 21:40:54 浏览:997
pythoneve 发布:2025-07-01 21:33:49 浏览:142
解压玩具怎么做只用水就可以做 发布:2025-07-01 20:52:56 浏览:161
解压放松室 发布:2025-07-01 20:52:43 浏览:125
存储器坏了 发布:2025-07-01 20:46:11 浏览:512
iphone怎么设锁屏密码 发布:2025-07-01 20:46:10 浏览:622
服务器如何处理千万请求 发布:2025-07-01 20:30:53 浏览:334
plsqldeveloperjob 发布:2025-07-01 20:29:59 浏览:805