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

输入一串数,以‘,‘分隔,输出所有数中去掉最大值、最小值之后剩下的个数。(其中最大值与最小值可能有多个)

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

Sample output:  3

#include<stdio.h>
/*
  解题思路:使用strtok分割函数分割字符串,统计最大最小的数字,
  遍历一遍数组,计算除最大最小的数字的个数
 */
#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\n",count);
    return 0;
}

测试数据:3,3,5,3,6,9,7,9

测试结果:

时间: 2024-10-25 07:23:42

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

华为机试—去掉最值剩下的个数

题目: 输入一串字符,只包含"0-10"和","找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数. c #include<stdio.h> #include<stdlib.h> #include<string.h> void main() { char str[100]; printf("输入一组字符串:\n"); scanf("%s",&str); size_t

2015华为机试——求n!中含有0的个数

题目描述: 求n!中含有0的个数,例如1!= 1 含有0个0,5! = 120 含有1个0,10! = 3628800 含有2个0 解题思路: 这题之前在leetcode中做过,如果先对n进行阶乘运算,然后%10求0的个数.但是n!很有可能溢出,所以需要找到它的等效方法,0的个数即为10的个数,即为5于2的个数,显然在n!中,2的个数要大于5的个数,因此只要算出n范围内有多少个5就OK 代码如下: public static int getZeroCount(int n) { /*在这里实现功能

2015华为机试——将字符串中不同字符的个数打印出来

描述: 找出字符串中,不同的字符的个数. 题目类别: 字符串 难度: 初级 运行时间限制: 无限制 内存限制: 无限制 阶段: 入职前练习 输入: 输入一个字符串,'\0'作为字符串结束符. 输出: 输出字符串中不同字符的个数. 样例输入: 122345 样例输出: 5 代码如下: public class dayin_Char { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while

去掉最大值、最小值之后剩下的个数

输入一串数,以','分隔,输出所有数中去掉最大值.最小值之后剩下的个数.(其中最大值与最小值可能有多个) 例: 输入:3,3,5,3,6,9,7,9  输出: 3

[华为机试真题]69.姓名的夫妻相

题目 在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是"夫妻相".所谓"夫妻相",就是两个人看上去比较般配,长相.身材等某些方面有一定的相似度. 本题则另辟蹊径,从人的姓名维度,以字母重复个数来寻找最具"夫妻相"的人. 题目中预先给定一组女士的姓名拼音.输入男士的姓名拼音(拼音中间可以有空格,字母全部小写),依预先给定姓名拼音的先后遍历所有姓名,输出字母重复数最多的女士姓名. 规则1:如果字母重复数最多的女士有多位相同,则以最先匹配的女士做为最

[华为机试真题][2015]65.和尚挑水

题目 某寺庙里7个和尚:轮流挑水,为了和其他任务不能冲突,各人将有空天数列出如下表: 和尚1: 星期二,四; 和尚2: 星期一,六; 和尚3: 星期三,日; 和尚4: 星期五; 和尚5: 星期一,四,六; 和尚6: 星期二,五; 和尚7: 星期三,六,日; 请将所有合理的挑水时间安排表 思路 回朔法求解 回朔法即每进行一步,都试图在当前部分解的基础上扩大该部分解.扩大时,首先检查扩大后是否违反了约束条件,若不违反,则扩大之,然后继续在此基础上按照类似的方法进行,直至成为完整解:若违反,则放弃该步

2014华为机试西安地区B组试题

2014华为机试西安地区B组试题 题目一.亮着点灯的盏数 一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1.2.3.-n-1.n.每盏电灯由一个拉线开关控制.开始,电灯全部关着. 有n个学生从长廊穿过.第一个学生把号码凡是1的倍数的电灯的开关拉一下:接着第二个学生把号码凡是2的倍数的电灯的开关拉一下:接着第三个学生把号码凡是3的倍数的电灯的开关拉一下:如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下.n个学生按此规定走完后,长廊里电灯有几盏亮着. 注:电灯数和学生

华为机试—介绍、剖析、建议

一.华为机试介绍 1.大致介绍 时间:120分钟 环境:Visual Studio(去年是vs2005).Visual C++.VC 6.0.Eclipse(Java) 题量:共3题 初级题--60分--3组测试数据 中级题--100分--5组测试数据 高级题--160分--8组测试数据 注:初级题和中级题为必答题,高级题为附加题. 提交次数:每题最多5次 评判方式:按通过测试数据组数给分,每通过一组得20分 2.考试说明 这里有一个老版的机试考试说明,供大家参考: C/C++,JAVA机试流程

华为机试(A)

二叉树遍历        答题时间: 00 小时 03 分 11 秒 描述:  二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树: 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树: 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根. 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历). 题目类别:  树  难度:  中级  运行时间限制: 无限制 内存限