华为校招历年机试题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华为历年笔试题目总结
因最近要参加华为的招聘,便从网上搜集了一些华为笔试历年题目,现总结献给大家,因本人非软件出生,水平有限,仅供参考,若有误处,请海涵。
1、字符串问题
∙问题描述:
把一个字符串中的除大写字母、小写字母和数字字符之外的其他字符都去掉,输出新字符串。
∙要求实现函数:
void my_string(char* input, char* output)
【输入】char* input,输入的字符串
【输出】char* output,输出的字符串
【返回】无
∙示例
输入:inp ut = “A*(BC&De+_fg/*”
输出:output = “ABCDefg”
输入:input = “aB+_9”
输出:output = “aB9”
程序如下:
void my_string(char* input, char* output)
{
int i,j;
i=j=0;
while(*(input+i)!='\0')
{
if((*(input+i)>='A'&&*(input+i)<='Z')||
(*(input+i)>='a'&&*(input+i)<='z')||(*(input+i)>='0'&&*(input+i)<='9'))
{
*(output+j)=*(input+i);
j++;
}
i++;
}
*(output+j+1)='\0';
}
题目描述:
输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,
若原始大写字母为V~Z, 则转换为对应小写字母的值减21。
其他字符不变,输出转换后的字符串。
例如,对于字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b
要求实现函数:
void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr);
【输入】pInputStr:输入字符串
lInputLen:输入字符串长度
【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“Axs3mWss”
输出:“fxs3mbss”
void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr)
{
int i=0;
for(i=0;i { if(pInputStr[i]>='A'&&pInputStr[i]<'V') pOutputStr[i]=pInputStr[i]+'a'-'A'+5; else if(pInputStr[i]>='V'&&pInputStr[i]<='Z') pOutputStr[i]=pInputStr[i]+'a'-'A'-21; else pOutputStr[i]=pInputStr[i]; } } 3. 单词统计 题目描述: 输入一段英文文本,用程序统计出现频率最高和最低的两个单词; 英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z) 单词之间的分隔符仅考虑这三种:空格( )、英文逗号(,)、英文句号(.); 仅大小写不同的单词算同一个单词; 如果两个单词出现次数相同,则在文本中首次出现的单词优先返回。 返回的单词统一用小写字母返回 例如: 输入字符串“Hello world, i said hello world to the world”,返回“world”,“i” 输入字符串“Somebody like somebody,i do not like it”,返回“somebody”,“i” 要求实现函数: void WordStat(const char * pInputStr, char * pOutputHotWord, char * pOutputColdWord); 【输入】pInputStr:输入字符串,指向一段英文文本 【输出】pOutputHotWord:输出字符串,返回出现次数最多的单词,该指针所指存储空间已经分配好,且足够大 pOutputColdWord:输出字符串,返回出现次数最少的单词,该指针所指存储空间已经分配好,且足够大 【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出 示例 输入:“Hello world, i said hello world to the world” void WordStat(const char * pInputStr, char * pOutputHotWord, char * pOutputColdWord) { //分割输入字符串Hello world, i said hello world to the world struct eng_t chaifen[20]; int i=0,j=0,k=0; while (pInputStr[i]!='\0') {