当前位置:首页 » 编程语言 » 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运算符为数组元素分配内存空间的方式称为动态分配方式。

以上内容参考:网络-数组