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