去掉最高分c語言
⑴ 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;
}
⑵ C程序設計:從鍵盤上輸入11個評委的分數,去掉一個最高分,去掉一個最低分
#include"stdio.h"
void main()
{
int score;
int i,max,min,total=0;
float ave;
for(i=0;i<11;i++)
{
scanf("%d",&score);
if(i==0) max=min=score;
if(score>好渣max) max=score;
if(score<min) min=score;
total+=score;
}
ave=(float)(total-max-min)/9.0;
printf("平均分: %.2f,亂喚最高友陪悄分: %d,最低分: %d",ave,max,min);
}
⑶ c語言輸入5個數去掉最高分去掉最低分求平均數,使用數組
下面是一個用 C 語言實現輸入 5 個數去掉最高分去掉最低分求平均數的例子:
#include <stdio.h>
int main() {
int nums[5];
int max, min, sum;
float avg;
// 輸入 5 個數
printf("請輸入 5 個整數:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &nums[i]);
}
// 計算最高分和最低分
max = nums[0];
min = nums[0];
for (int i = 1; i < 5; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
// 求和
sum = 0;
for (int i = 0; i < 5; i++) {
if (nums[i] != max && nums[i] != min) {
sum += nums[i];
}
}
// 求平均數
avg = (float)sum / 3;
// 輸出結果
printf("去掉最高分和最低分後的平均數是:%.2f\n", avg);
return 0;
}
在這個例子中,我們使用了一個 nums 數組來存儲輸入的 5 個數。首先我們使用 scanf 函數從標准輸入中讀取這 5 個數,然後使用兩個變數 max 和 min 來分別記錄最高分和最低分。接下來,我們使用一個循環遍歷數組,求出除最高分和最低分外的所有數的和。最後,我們將這個和除以 3(也就是 5 個數減去最高分和如掘襲最低分剩下的 3 個數),求渣兄出平均數,並輸出結果散叢。
⑷ 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>
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循環里