从键盘输入10个数去掉最大值和最小值,计算剩余值的平均值,用c语言编程

2025-04-26 11:53:45
推荐回答(2个)
回答1:

//动态分配内存
#include
#include
#include
void sort( int * s,int len);
void main()
{
int n,i,tsum=0;
float k;
//printf("请输入个数n:\n");
//scanf("%d",&n);
n=10;
int * choice=(int *) malloc ( sizeof(int) * n );
printf("请输入%d个数\n",n);
for( i=0;i scanf("%d",&choice[i]);

int * s=choice;
sort(s,n);

for( i=0;i {
printf("%i ",choice[i]);
}
printf("\n");

for( i=1;i {
tsum+=choice[i];
}
k=tsum/(n-2);

printf("去掉一个最高分,去掉一个最低分,该选手最后得分为:%f\n",k);
free(choice);

}

void sort( int * s,int len)
{
int i=0,j=0,tmp;

for(i=0;i {
for(j=i+1;j {
if(*(s+i)>*(s+j))
{
tmp=*(s+i);*(s+i)=*(s+j);*(s+j)=tmp;
}
}
}
}

回答2:

#include
main()
{int n,max=-32768,min=32767,i; float s=0.0,aver=0.0;
for(i=0;i<10;i++)
{scanf("%d",&n);
if(max if(min>n) min=n;}
printf("%d,%d\n",max,min);
if((n!=max)||(n!=min))
s=s+n;
aver=s/8;
printf("%f\n",aver);
}