您的位置:首页 > 其它

华为机试—去掉最大值、最小值后剩下的个数

2015-01-01 14:33 274 查看
输入一串数,以','分隔,输出所有数中去掉最大值、最小值之后剩下的个数。(其中最大值与最小值可能有多个)

Sample input: 3,3,5,3,6,9,7,9

Sample output: 3

#include <stdio.h>

int main()
{
	int n,i=0;
	int a[100];

	scanf("%d",&n);
	while(getchar()!='\n')
	{
		a[i++]=n;
		scanf("%d",&n);
	}
	a[i++]=n;

	int min=a[0];
	int max=a[0];
	for(int j=0;j<i;j++){
		if(min>a[j])
			min=a[j];
		if(max<a[j])
			max=a[j];
	}

	printf("%d %d\n",min,max);

	int count=0;
	for(j=0;j<i;j++){
		if(a[j]!=min&&a[j]!=max)
			count++;
	}

	printf("%d\n",count);

	return 0;
}


测试结果,可能想的不周全,欢迎查漏补缺:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: