随笔分类 - 华为笔试题
摘要:1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。要求实现函数:void convert(char *input,char* output)【输入】 char *input , 输入的字符串【输出】 char *output ,输出的字符串【返回】 无示例输入:char*input="abcd&
阅读全文
摘要:一个字符串“aasbbsdsskkff”,求出重复的次数,并写到数组后面,输出为“a2s1b2s1d1s2k2f2”#include "stdafx.h"#include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ char str[]="aasbbsdsskkff"; char *out=new char [strlen(str)+10]; int i=0,j=0; int count=1; while(str[i]!='\0') { if(str[i]==str[
阅读全文
摘要:输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注: 1、表达式只含+,-,*,/四则运算符,不含括号2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生5、输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况• 要求实现函数:intcalculate(intlen,char*expStr)【输入】 intlen:字符串长度;char*expStr
阅读全文
摘要:题目描述:请设计一个自动拼写检查函数,对输入单词的错误依据字典进行修正。1.输入为一个单词和一组字典单词,每个单词长度不超过9位;2.若字典中没有与输入相同的单词,认为输入单词错误,需要从字典中选择一个修正单词;3.修正要求:与输入单词长度相同,且单词中不同字符数最少;4.存在多个修正单词时,取字典中的第一个;5.输出修正后的单词。要求实现函数:void FixWord(const char *pInputWord, long lWordLen, const char pWordsDic[][MAX_WORD_LEN], long lDicLen, char *pOutputWord);【输入
阅读全文
摘要:题目描述:实现一个正整数加、减、乘、除四则混合运算求值方法条件限定:1、输入的四则运算式由'+','-','*','/'运算符及正整数组成;2、无需考虑特殊字符,及除不尽的情况;3、无需考虑运算符的优先级,加减乘除优先级一样,仅按照自左至右的顺序依次计算;4、当遇到除数为0时,即刻返回当前已计算结果。要求实现函数:voidCalCarithmeticRlt(const char *pInputStr,int*lOutputRlt);【输入】pInputStr:输入字符串【输出】lOutputRlt: 输出计算结果【注意】不用考虑输
阅读全文
摘要:题目描述:假设1元,5元,10元,50元,100元的人民币若干,实现一个能找到最少张数累计达到一个指定金额方法。如:67元,可分为67个1元钱。也可分为6个10元7个1元其中最少人民币分法为一张50元,一张10元,一张5元,两张1元,五张不同金额的拆分方法为最最少张数拆分法要求实现函数:voidCalLeastChange(longlInp#include "stdafx.h"#include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int input=238; int hundred=0; int
阅读全文
摘要:题目描述:输入一个包含若干整数的字符串,负数前面带有负号‘-’,正数不带‘+’,每个整数都是个位数。请将此串进行如下整理:1、将串中的正负数分离,使得负数在前,正数在后;2、分离后的正负数分别保持在原串中的相对顺序不变;3、输出参数为整理后的字符串。当输入串格式非法,不作处理,直接输出原有字符串。要求实现函数:void ArrangeString(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】pInputStr:输入字符串lInputLen:输入字符串长度【输出】pOutputStr: 输出字符串,空间已经开辟好,与输
阅读全文
摘要:题目描述:编写一个函数检查邮箱地址是否合法,合法的条件是1、地址中有且只有一个'@'字符2、最后三位应该是".com"3、中间没有空格4、合法的字符是1~9, a~z, A~Z, '.', '@', '_'正确输出1,非法输出0要求实现函数:void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr);【输入】char *pInputStr:指向一个数组的指针long lInputLen:该数组的长度char *pOutputStr:输出
阅读全文
摘要:题目描述:编写一个函数,计算出字符串中各种字母(a~z,A~Z)的个数,AABB输出A2B2,aabbCCAAA输出A3C2a2b2,输出结果需要按照字母排序(大写的比小写的排在前面)要求实现函数:void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr);【输入】char *pInputStr:指向一个数组的指针long lInputLen:该数组的长度char *pOutputStr:指向一块输出的内存,'\0'作为字符串结束符【返回】 无【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输
阅读全文
摘要:题目描述:编写一个函数,将字符串中的每个单词的倒序输出,字符串中以空格分割各个单词,如果碰到数字则跳过。要求实现函数:void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr);【输入】char *pInputStr:指向一个字符串的指针long lInputLen:该字符串的长度char *pOutputStr:指向一块输出的内存,和输入的字符串是大小是(lInputLen+1)【返回】 无【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:He is a man no12 3456.返回:e
阅读全文
摘要:关键部分代码为 char aa[]="qwyugdtwqfdetgwsfcdtyz"; char dest[3]; set a; //set::iterator iter=aa; a.insert(aa,aa+strlen(aa)); for(set::reverse_iterator iter=a.rbegin();iter!=a.rend();iter++) cout::reverse_iterator iter=a.rbegin(); dest[0]=*(iter++); dest[1]=*(iter++); dest[2]=*(iter++); cout<&l
阅读全文
摘要:题目描述:输入一个不带头节点的单向链表(链表的节点数小于100),删除链表中内容重复的节点(重复的节点全部删除),剩余的节点逆序倒排。要求实现函数:void vChanProcess(strNode * pstrIn,strNode * pstrOut);【输入】pstrIn:输入一个不带头节点的单向链表【输出】pstrOut:删除内容重复的节点(重复的节点全部删除),剩余节点逆序输出(不带头节点,链表第一个节点的内存已经申请)。【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入链表的内容依次为6,7,8,8,9,10,6则输出链表的内容依次应该是10,9关键部分代码为
阅读全文
摘要:题目描述:删除链表中内容重复的节点(重复的节点只保留一个),剩余节点按照节点内容升序排列输入一个不带头节点的单向链表(链表的节点数小于100),删除链表中内容重复的节点(重复的节点只保留一个)。要求实现函数:void vChanProcess(strNode * pstrIn,strNode * pstrOut);【输入】pstrIn:输入一个不带头节点的单向链表【输出】pstrOut:将链表按照链表中data的大小降序排列后的链表(不带头节点,链表第一个节点的内存已经申请)。【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出//利用 vector set 容器快速计算void
阅读全文
摘要:C_C++_LQC_06.输入某年某月某日,判断这一天是这一年的第几天?题目描述:输入某年某月某日,判断这一天是这一年的第几天?请注意对闰年的判断。int CalcDay(int year, int month, int day);【输入】year:输入数字,例如2011month:输入数字,例如3day:输入数字,例如5【输出】返回值为该年得第几天,例如,上述输入为该年的第64天;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“2011,3,5”输出:“64”#include "stdafx.h"#include using namespace
阅读全文
摘要:C_C++_LQC_03.因数分解题目描述:将一个正整数(1000以内)分解质因数。每个合数都可以写成几个质数相乘的形式,这几个质数就都叫做这个合数的质因数。如果一个质数是某个数的因数,那么就说这个质数是这个数的质因数。而这个因数一定是一个质数。质因数就是一个数的约数,并且是质数,比如8=2乘2乘2,2就是8的质因数。12=2×2×3,2和3就是12的质因数。把一个式子以12=2×2×3的形式表示,叫做分解质因数。16=2×2×2×2,2就是16的质因数,把一个合数写成几个质数相乘的形式表示,叫做分解质因数要求实现函数:in
阅读全文
摘要:题目描述:编写一个函数,将输入的3个数字进行四则运算看是否可以得出二十一。如3,7,1.输出结果为1(表示可以,因为3*7*1 = 21).只用+-*/四则运算三个数字的顺序固定,运算不用考虑优先级要求实现函数:void IsGetTyO (const int *pIn, int& nOut);【输入】pIn:输入的3个数字【输出】nOut:是否可以计算出21(1表示可以,0表示不可以)。【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出3个数字的顺序不会变化示例输入:3,7,1输出:1#include "stdafx.h"#include using
阅读全文

浙公网安备 33010602011771号