c语言去掉一个最高分
‘壹’ c语言输入10个评委给6个选手打分去掉一个最高分和最低分,然后求平均分,输出前3位评委
#include<stdio.h>
intmain()
{
doublea[10],max,min,sum,ava;
inti;
for(i=0;i<10;i++)
scanf("%lf",&a[i]);
//--------^-------
max=a[0];
min=a[0];
sum=0;
for(i=1;i<10;i++)
{
if(a[i]>max)
max=a[i];
}
for(i=1;i<10;i++)
{
if(a[i]<min)
min=a[i];
}
for(i=0;i<10;i++)
sum=sum+a[i];
ava=(sum-max-min)/8;
printf("%.1lf ",ava);
//--------^-------
return0;
}
‘贰’ C语言编译程序:“体操评分程序,去掉一个最高分,去掉一个最低分 求平均值”
#include <stdio.h>
main()
{
double a[5],i,max,min,sum=0.0; /*假设5个分数*/
printf("输入5个数:\n");
for(i=0;i<5;i++)
{
scanf("%lf",&a[i]);
}
max=min=a[0]; /*假设a[0]是最高分和最低分也就是初始化*/
sum=sum+a[0]; /*先加上a[0]*/
for(i=1;i<5;i++) /*max和min是a[0],所以从a[1]开始判断*/
{
sum=sum+a[i]; /*求分数总和*/
if(max<=a[i]) /*比最高分还高就交换*/
{max=a[i]; }
if(min>=a[i]) /*比最低分还低就交换*/
{min=a[i]; }
}
sum=sum-(max+min);
printf("%.1lf",sum/3.0);
getch();
} 通过turbo c 2.0编译认证
‘叁’ C语言编译程序中:“体操评分程序,去掉一个最高分,去掉一个最低分 求平均值”
楼上已经写的很简单了 还看不懂吗 楼主 @阿谢的条例清楚 思路清晰呀。。
printf("input scores:");
for(i=0;i<5;i++)
{
scanf("%lf",&score[i]); \\这里是 输入5个分数。
}
max=min=score[0]; 这里给最低分MIN和最高分MAX初始化
sum+=score[0];
for(i=1;i<5;i++)
{
sum+=score[i]; 算出总分数
if(score[i]>max)
{
max=score[i]; 如果有比初始最高分高 那就把他的值给最高分MAX
}
if(score[i]<min)
{
min=score[i]; 同最高分的比较法。
}
}
sum=sum-max-min; 减最高分和最低分了。
printf("average is %lf\n",sum/3); 求平均值
}
‘肆’ C语言,去掉最高分和最低分,求平均分问题
#include<stdio.h>
int main()
{
int t,n,i,k,a,max,min;
float s;
scanf("%d",&t);
for(a=1;a<=t;a++)
{
max=0;
s=0;
min=100;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&k);
if(k>=max) max=k;
if(k<=min) min=k;
s=s+k;
}
s=s-max-min;
n=n-2;
s=s/n;
printf("%.2f\n",s);
}
return 0;
} //把s和n写在for循环里
‘伍’ 用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个评委的给分中,去掉一个最高分,去掉一个最低分,剩余8个分数求平均值。请编程实现之
#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); /*输出结果*/
}
*运行结果
Input number1=90
Input number2=91
Input number3=93
Input number4=94
Input number5=90
Input number6=99
Input number7=97
Input number8=92
Input number9=91
Input number10=95
Canceled max score:99
Canceled min score:90
Average score:92
‘柒’ C语言,去掉一个最高分和一个最低分,求平均分的问题
这段代码基本不需要优化,如果要优化的话,那就是把求和和计算最大最小值放在输入的同时进行,优化后代码如下:
#include<stdio.h>
intmain()
{
inta[5],i,sum=0;
doublepj;
intmax,min;
for(i=0;i<5;i++)
{
printf("请%d号评委输入您所打的分数: ",i+1);
scanf("%d",&a[i]);
sum+=a[i];
if(i==0){
max=min=a[i];
}
else{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
}
printf("该选手的得分为:");
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
printf(" 该选手的最高分为%d ",max);
printf("该选手的最低分为%d ",min);
pj=(sum-max-min)/3.0;
printf("去掉一个最高分:%d,一个最低分:%d,该选手的平均分为%f ",max,min,pj);
return0;
}
‘捌’ n评委打分,去掉一个最高分,去掉一个最低分,求平均分,结果保留两位小数,用c语言怎么编写
#include<iostream>
usingnamespacestd;
intmain()
{
floatg,max=0,min=0,sum=0;
intn,n0;
cout<<"请输入评委人数:";
cin>>n;
n0=n;
cin>>g;
min=max=sum=g;
while(--n0){
cin>>g;
sum+=g;
if(g>max)max=g;
elseif(g<min)min=g;
}
sum=sum-min-max;
cout<<"去掉一个最高分:"<<max<<"分,去掉一个最低分:"<<min<<"分,该选手最后得分:"<<sum/(n-2)<<endl;
}
‘玖’ 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;
}