當前位置:首頁 » 編程語言 » c語言評分程序去掉最大和最小
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言評分程序去掉最大和最小

發布時間: 2023-05-20 09:08:58

c語言程序輸入十個分數找出最高分和最低分及去掉最高分和最低分的平均值怎麼編寫程序

#include "stdio.h"

int main()
{
double Num[10] = { 0 };
double Total_Num = 0;

int Max_Pos = 0, Min_Pos = 0;

for (int i = 0; i < 10; i++)
{
scanf("%lf", &Num[i]);
if (Num[i] > Num[Max_Pos])//記錄最大值
Max_Pos = i;
if (Num[i] < Num[Min_Pos])//記錄最小值
Min_Pos = i;
}

for (int i = 0; i < 10; i++)
{
if (i == Max_Pos || i == Min_Pos)
continue;
Total_Num += Num[i];
}

printf("去掉1個最高分去掉1個最低分的平均分為:%lf", Total_Num / 8.0);//10個人去掉1個最高分去掉1個最低分 剩8個求平均值

return 0;
}

㈡ C語言中用一維數組完成去掉最大值和最小值 並求出平均值

#include <stdio.h>

void main()

{

int a[5]={90,45,67,87,50};

int i,max,min,sum;

double average;

sum=0;

max=a[0];

min=a[0];

for(i=0;i<5;i++)

{

if(max<a[i])

max=a[i];

if(min>a[i])

min=a[i];

sum=sum+a[i];

}

average=(double)(sum-max-min)/3;

printf(" The max=%d ",max);

printf(" The min=%d ",min);

printf(" The average is:%f ",average);

printf(" ");

}

(2)c語言評分程序去掉最大和最小擴展閱讀:

1、類型說明符是任意一種寬塌基本數據類型或構造數據類型慎兄圓。對於同一個數組,其所有元素的數據類型都是相同的。

2、數組名是用戶定義的數組標識符,書寫規則應符合標識符的書寫規定。

3、方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。

4、允許塵睜在同一個數據說明中,說明多個數組和多個變數。

例:int a,b,c,d,k1[10],k2[2];

5、a[7]表示a數組有7個元素,注意下標是從0開始的,這7個元素是a[0],a[1],a[2],a[3],a[4],a[5],a[6]。不存在數組元素a[7]。

6、C語言不允許對數組的大小做動態定義,即數組的大小不依賴於程序運行過程中變數的值。

㈢ 用c語言計算一個運動員的得分,共十名評委分別打分,去掉最高分和最低分,計算剩下的平均分

main()
{float num[10];
float max.min;
int i,aver,sum1,sum2,sum; 以上三行是定義變數
printf("請依次輸入評委評的分數\n");
for(i=0;i<10;i++)
{printf("第i+1位:");
scanf("%f",&x[i]);} 把十個分數定義為一維數組,用循環語句,輸入十個分數
max=min=x[0]; 把第一個分數賦給最大值和最小值
for(i=0;i<10;i++)
{if(max<x[i]) max=x[i]; 用循環語句,如果數組中有分數比第一個分數大,就賦給max ,直到10個數字都比較完
if(min>x[i]) min=x[i];}用循環語句,如果數組中有分數比第一個分數小,就賦給min ,直到10個數字都比較完
printf("去掉一個最高分:%f",max);
printf("去掉一個最低分:%f",min); 輸出最大值和最小值
for(i=0;i<10;i++)
{sum2=0;
sum2=sum2+x[i];} 把十個分數都加起來
sum1=sum2-max;
sum=sum1-min; 減掉最大值和最小值
aver=sum/8; 求剩下分數的平均數
printf("最後的平均分是:%f",aver); 輸出平均數
}

基本上應該是對的,我的c卸掉了,所以也沒辦法運行看有沒有錯,有錯的話稍微改一下就行了。

㈣ C語言 去掉一個最高分和一個最低分

程序1 :
#include<stdio.h>
#define N 10
#define M 50

//本程序對歌手的打分均限定在整數范圍
//若需處理成小數形式,只要將數據類型設定為float即可

void main()
{
static char name[M+1][]={
"";
"singer1 name";
......
"singer50 name"
}; //50位歌手名字
static int scores[M+1]; //50位歌手得分跡消
int i,j;

for (i=1;i<M+1;i++)
for (j=1;j<N+1;j++)
{
printf("Please enter the %d singer's score:\n",i);
scores[i]=score(); //返回第i個歌手的分數
}

sort_out(name,scores); //按要求輸出歌手及其分數
}

int score()
{
int i,score,Tmax,Tmin;
static int data[N+1];

scanf("d%",&data[1]);

//輸入分數必須在60到100之間
while((data[1]<60)||(data[1]>100))
{
printf("\nThe score must be less than 100 or larger than 60.\n");
scanf("d%",&data[1]);
}

score=0;
Tmax=data[1];
Tmin=data[1];

for (i=2;i<N+1;i++)
{
scanf("d%",&data[i]);
while((data[i]<60)||(data[i]>100))
{
printf("\nThe score must be less than 100 and larger than 60.\n");
scanf("d%",&data[i]);
}

if (data[i]<Tmin)
{
score+=Tmin;
Tmin=data[i];
}
else if (data[i]>Tmax)
{
score+=Tmax;
Tmax=data[i];
}
else score+=data[i];
}

//直接輸出去掉一個最高分及一個最低分之後的平均值
return score/(N-2);
}

void sort_out(char name[M+1][],int sco[M+1])
{
int i,j;
static int flag[M+1];

//利用flag記錄歌手的位次
for (i=1;i<M+1;i++)
for (j=1;j<M+1;j++)
if (sco[i]<=sco[j]) flag[i]+=1;
else flag[j]+=1;

/姿戚知/按照分數由高及低列印歌手及其分數
printf("\nSinger's name\tSinger's score\n");
printf("=================================\n");

for (i=1;i<M+1;i++)
for(j=1;j<M+1;j++)
if (flag[j]==i) printf("%s\t%d\n",name[j],sco[j]);

printf("=================================\n");
}
來源:http://..com/question/42799573.html?si=1

程序2
#include <stdio.h>
#include <stdlib.h>
#define N 6 //參賽選手人數
#define M 5 //評委人數

struct compete
{
int score[N*M]; //存放每個選手分數的數組
char num[N]; //仔仔存放選手序號的數組

}comp[N];

main()
{
int i,j,k,max[N],min[N],average[N],sum[N]={0};

for(i=0;i<N;i++)
{
printf("請輸入選手序號: \n");
scanf("%s",comp[i].num); //讀取選手序號或姓名
printf("\n請輸入%s號選手的得分: \n",comp[i].num);

for(j=0;j<M;j++)
{
scanf("%d",&comp[i].score[j]); //讀取每個選手的得分
max[i]=min[i]=comp[i].score[j]; //初始化最大最小值
sum[i]+=comp[i].score[j]; //計算總分,並把所有成績放入sum數組
}

for(k=0;k<M;k++) //比較最大最小值
{
if(comp[i].score[k]>max[i])max[i]=comp[i].score[k]; //最大值放入max 中
if(comp[i].score[k]<min[i])min[i]=comp[i].score[k]; //最小值放入min中
}

average[i]=sum[i]-max[i]-min[i]/M-2; //計算平均值並放入average數組
putchar('\n');
}

for(i=0;i<N;i++) //列印出每個選手的得分情況
{
printf("\n%s號選手的得分情況如下: \n\n",comp[i].num);
printf("%10s%10s%10s%10s\n","總分","平均分","最高分","最低分");
printf("%10d%10d%10d%10d\n",*(sum+i),*(average+i),*(max+i),*(min+i));
}

getch();
}

來源:http://..com/question/25059247.html?si=5

㈤ 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語言編程題5個評委打分去掉最高和最低分如何求平均值

#include<stdio.h>空大

int main()

{ float x,max,min,s=0;

int i;

scanf("%f"蔽陸,&宏虧頃max);

s=min=max;

for(i=1;i<5;i++)

{scanf("%f",&x);

s+=x;

if(x>max)max=x;

if(x<min)min=x;

}

printf("%f ",(s-max-min)/3);

return 0;

}

㈦ 用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語言編寫含有數組的程序,9個評委給某選手打分,去掉一個最高分和一個最低分,求該參賽選手的平均分

#include <stdio.h>

void bubbleSort(int a[]);

int main(void)

{

int a[9] = {0}, i = 0;

float aver = 0.0;

printf("請9位評委依次打分:");

for(i = 0; i < 9; i++)

scanf("%d", &a[i]);

bubbleSort(a);

for(i = 1; i < 8; i++)

aver += a[i];

aver /= 7;

printf("平均分為:%f ", aver);

return 0;

void bubbleSort(int a[])

int i = 0, j = 0, temp = 0;

for(i = 0; i < 8; i++)

for(j = 0; j < 8 - i;j++)

if(a[j] > a[j + 1])

temp = a[j];

a[j] = a[j + 1];

a[j + 1] = temp;

}

數組聲明

在數組的聲明格式里,「數據類型」是聲明數組元素的數據類型,可以是java語言中任意的數據類型,包括簡單類型和結構類型。「數組名」是用來統一這些相同數據類型的名稱,其命名規則和變數的命名規則相同。

數組聲明之後,接下來便是要分配數組所需要的內存,這時必須用運算符new,其中「個數」是告訴編譯器,所聲明的數組要存放多少個元素,所以new運算符是通知編譯器根據括弧里的個數,在內存中分配一塊空間供該數組使用。利用new運算符為數組元素分配內存空間的方式稱為動態分配方式。

以上內容參考:網路-數組