给你一个整数数组 nums
,统计并返回在 nums
中同时至少具有一个严格较小元素和一个严格较大元素的元素数目。
输入输出格式
输入格式 输入一个整数数组(list) nums
。 输出格式 输出在 nums
中同时至少具有一个严格较小元素和一个严格较大元素的元素数目的整数结果。
输入输出样例1
输入 [11,7,2,15]
输出 2
解释(可选) 元素 7
:严格较小元素是元素 2
,严格较大元素是元素 11
。 元素 11
:严格较小元素是元素 7
,严格较大元素是元素 15
。 总计有 2
个元素都满足在 nums
中同时存在一个严格较小元素和一个严格较大元素。
输入输出样例2
输入 [-3,3,3,90]
输出 2
说明提示
判断一个数是否有严格最小元素和严格最大元素,是指在数组中有大于该数的值和小于该数的值。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 100
int main(void)
{
int nums[N];
int i=0,flag1=0,flag2=0,count=0,n,k;
char ch;
scanf("%c",&ch);
//不知道数组的元素个数时用do_while输入数组再
//统计循环次数
do{
scanf("%d",&nums[i]);
i++;
}while(getchar()!=']');
for(n=0;n<i;n++)
{//n<i是因为在循环时i多加了一次
for(k=0;k<i;k++)
{
if(nums[n]<nums[k]) flag1++;
else if(nums[n]>nums[k]) flag2++;
}
if(flag1>0&&flag2>0){
count++;
}
flag1=0;flag2=0;//计数器置零
}
printf("%d",count);
return 0;
}