华为校园招聘笔试算法题汇总.doc

上传人:滴答 文档编号:1277506 上传时间:2019-01-26 格式:DOC 页数:13 大小:45KB
下载 相关 举报
华为校园招聘笔试算法题汇总.doc_第1页
第1页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、华为笔试算法题汇总 1.通过键盘输入一串小写字母 (az)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“ abacacde”过滤结果为“ abcde”。 要求实现函数: void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 pInputStr: 输入字符串 lInputLen: 输入字符串长度 【输 出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长; 【注意】只需要完成该函数功能算法,中间不需要有任

2、何 IO的输入输出 示例 输入:“ deefd” 输出:“ def” 输入:“ afafafaf” 输出:“ af” 输入:“ pppppppp” 输出:“ p” main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用 printf打印输出 当前你可以使用其他方法测试,只要保证最终程序能正确执行即可,该函数实现可以任意修改,但是不要改变函数 原型。 一定要保证编译运行不受影响 cpp view plaincopy / #include #include using namespace std; bool g_flag26; void stringFilter(cons

3、t char *pInputStr, long lInputLen, char *pOutputStr) assert(pInputStr != NULL); int i = 0; if (pInputStr = NULL | lInputLen #include using namespace std; void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr) const char *p = pInputStr; int num = 1; int i = 0; p+; while(*p != NULL) w

4、hile(*p = *(p-1) p+; if (num 1) int size = 0; int temp = num; while(num) /计算位数 size+; num /= 10; num = 1; for (int j = size; j 0; j-) pOutputStri+j-1 = 0+ temp%10; temp /= 10; i +=size; pOutputStri+ = *(p-1); p+; else pOutputStri+ = *(p-1); p+; pOutputStri = 0; int main() char input = “cccddecc“; ch

5、ar *output = new charstrlen(input) + 1; stringZip(input,strlen(input),output); cout using namespace std; void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr) const char *input = pInputStr; char *output = pOutputStr; int sum = 0; int operator1 = 0; int operator2 = 0; char *temp =

6、new char5; char *ope = temp; while(*input != ) /获得操作数 1 sum = sum*10 + (*input+ - 0); input+; operator1 = sum; sum = 0; while(*input != ) *temp+ = *input+; input+; *temp = 0; if (strlen(ope) 1 ) *output+ = 0; *output = 0; return; while(*input != 0) /获得操作数 2 sum = sum*10 + (*input+ - 0); operator2 =

7、sum; sum = 0; switch (*ope) case +:itoa(operator1+operator2,pOutputStr,10); break; case -:itoa(operator1-operator2,pOutputStr,10); break; default: *output+ = 0; *output = 0; return; int main() char input = “4 - 7“; char output = “ “; arithmetic(input,strlen(input),output); cout #define N 50 void sort(int a,int n); int main(void) char str100; int aN=0; gets(str); /要点 1:动态的输入 1-50个整数,不能确定个数,只能用字符串输入,然后分离出来 int i=0; int j=0; int sign=1; while(stri!=0)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 表格模板

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。