华为校园招聘笔试题(机考题目)



01. 第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,

 则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50


02. 求两个长长整型的数据的和并输出,例如输入1233333333333333 。。。 3111111111111111111111111.。。。,则输出


03. 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

 比如字符串abacacde过滤结果为abcde

 要求实现函数:

 void stringFilter(const char*pInputStr, long lInputLen, char *pOutputStr);

 【输入】 pInputStr: 输入字符串

 lInputLen: 输入字符串长度

 【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;

 

04. 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。

 压缩规则:

 1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".

 2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"

 要求实现函数:

 void stringZip(const char*pInputStr, long lInputLen, char *pOutputStr);

 【输入】 pInputStr: 输入字符串

 lInputLen: 输入字符串长度

 【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;

 

30. 计算重复字符个数

 描述: 输入一行字符串。如果字符是英文字母,则输出为输入的英文字符+连续出现的次数 ,

 例如 “ABBCCCC”-> “A1B2C4”;否则,丢弃该字符,不输出。

 运行时间限制: 无限制

 内存限制: 无限制

 输入: 输入的字符串,长度小于1024

 输出: ?输入的英文字符以及其重复的次数

 样例输入: ABBC67%%%CCCAA99

 样例输出: A1B2C4A2

  

27.统计数字出现的次数,最大次数的统计出来

 举例:

 输入:323324423343

 输出:3,6

 

07. 输入一串字符,只包含“0-10”找出其中最小的数字和最大的数字(可能不止一个),

输出最后剩余数字个数。如 输入 “3,3,4,5,6,7,7”

 

09. 删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。

 

14. 字串转换

 问题描述:

 将输入的字符串(字符串仅包含小写字母‘a’‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a

 ;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。

 例如:aa 转换为bczz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。

 要求实现函数:

 void convert(char *input,char*output)

 【输入】 char *input , 输入的字符串

 【输出】 char *output ,输出的字符串

 【返回】 无

 

35. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成bz换成aZ换成A

 * aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值