c語言:定義一個含10個整型元素的一維陣列,從鍵盤上輸入10個元素值,求去掉最大值和最小值之後的元素平均值

aahuachenyu發表於2020-12-13

定義一個含10個整型元素的一維陣列,從鍵盤上輸入10個元素值,求去掉最大值和最小值之後的元素平均值.

#include <stdio.h>
int q[10];
int m = 2;
void xiao(int z[])
{
	int x,c,temp;
	for(x=0;x<9;x++)
		for (c = 0; c < 9; c++)
		{
			if (z[c] < z[c + 1])
			{
				temp = z[c + 1];
				z[c + 1] = z[c];
				z[c] = temp;
			}
		}

}
void shanjian(int z[])
{
	int n = 9,v;
	v = q[9];
	q[9] = 0;
	while (q[n - 1] == v)
	{
		q[n - 1] = 0;
		m++;
		n--;
		if (n < 0)break;
	}

}
void da(int z[])
{
	int x, c, temp;
	for (x = 0; x < 9; x++)
		for (c = 0; c < 9; c++)
		{
			if (z[c] >z[c + 1])
			{
				temp = z[c + 1];
				z[c + 1] = z[c];
				z[c] = temp;
			}
		}

}

int main()
{
	int i,w,e=0;
	double r;
	for (i = 0; i < 10; i++)
		scanf_s("%d", &q[i]);
	xiao(q);
	shanjian(q);
	da(q);
	shanjian(q);
	for (w = 0; w < 8; w++)
	{
		e += q[w];
	}
	r = e*1.0 / (10 - m);
	printf("%lf", r);
}

相關文章