华为机试―去掉最大值、最小值后剩下的个数
发布时间:2020-12-13 20:11:40 所属栏目:PHP教程 来源:网络整理
导读:输入1串数,以','分隔,输出所有数中去掉最大、最小以后剩下的个数。(其中最大与最小可能有多个) Sample input: 3,3,5,6,9,7,9 Sample output: 3 #includestdio.h/* 解题思路:使用strtok分割函数分割字符串,统计最大最小的数字, 遍历1遍数组,计算除最
输入1串数,以','分隔,输出所有数中去掉最大值、最小值以后剩下的个数。(其中最大值与最小值可能有多个)
Sample input: 3,3,5,6,9,7,9 Sample output: 3 #include<stdio.h>
/*
解题思路:使用strtok分割函数分割字符串,统计最大最小的数字,
遍历1遍数组,计算除最大最小的数字的个数
*/
#include<stdlib.h>
#include<string.h>
int main(int argc,char *argv[])
{
char s[100];
int a[100];
int i=1;
fgets(s,100,stdin);
char *p=strtok(s,",");
int start=atoi(p);
a[0]=start;
int _min=start;
int _max=start;
while(p=strtok(NULL,"))
{
int t=atoi(p);
if(t>_max)_max=t;
if(t<_min)_min=t;
a[i++]=t;
}
int count=0;
for(int j=0;j<i;++j)
{
if(a[j]!=_max&&a[j]!=_min)
count++;
}
printf("%d
",count);
return 0;
}
测试数据:3,9 测试结果: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |