华为机试—除了最大值、最小值后剩下的个数
华为机试—去掉最大值、最小值后剩下的个数
输入一串数,以','分隔,输出所有数中去掉最大值、最小值之后剩下的个数。(其中最大值与最小值可能有多个)
测试结果,可能想的不周全,欢迎查漏补缺:
输入一串数,以','分隔,输出所有数中去掉最大值、最小值之后剩下的个数。(其中最大值与最小值可能有多个)
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; }
测试结果,可能想的不周全,欢迎查漏补缺: