华为机试题 面试题
- 格式:doc
- 大小:20.00 KB
- 文档页数:4
华为面试题及答案1、局部变量能否和全局变量重名答:能,局部会屏蔽全局。
要用全局变量,需要使用"::"局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
2、如何引用一个已经定义过的全局变量答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。
3、全局变量可不可以定义在可被多个.C文件包含的头文件中为什么答:可以,在不同的C文件中以static形式来声明同名全局变量。
可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错4、语句for( ;1 ;)有什么问题它是什么意思答:和while(1)相同。
5、do……while和while……do有什么区别答:前一个循环一遍再判断,后一个判断以后再循环6、请写出下列代码的输出内容以下是引用片段:#includemain(){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",b,c,d);return 0;}答:10,12,1207、static全局变量与普通的全局变量有什么区别static局部变量和普通局部变量有什么区别static函数与普通函数有什么区别全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。
全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。
这两者在存储方式上并无不同。
尊敬的应聘者:您好!感谢您选择加入华为,成为我们大家庭的一员。
为了更好地了解您的性格特点,以便于我们为您提供更合适的工作岗位和发展机会,我们将在面试过程中进行性格测试。
以下是我们为华为面试特别设计的性格测试题,请您认真作答。
一、自我认知(20题)1. 我通常在团队中扮演什么角色?A. 领导者B. 执行者C. 协调者D. 观察者2. 我更喜欢以下哪种工作方式?A. 独立完成B. 与他人合作C. 按部就班D. 自由发挥3. 我在遇到问题时,通常如何处理?A. 积极寻求解决方案B. 寻求他人帮助C. 等待他人给出建议D. 觉得问题无法解决4. 我在团队中是否善于倾听他人的意见?A. 非常善于B. 比较善于D. 不善于5. 我是否愿意承担额外的责任?A. 非常愿意B. 比较愿意C. 一般D. 不愿意6. 我在压力下是否能够保持冷静?A. 非常能够B. 比较能够C. 一般D. 不能7. 我在团队中是否善于沟通?A. 非常善于B. 比较善于C. 一般D. 不善于8. 我是否善于发现他人的优点?A. 非常善于B. 比较善于C. 一般D. 不善于9. 我在团队中是否善于提出建设性意见?B. 比较善于C. 一般D. 不善于10. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于11. 我在团队中是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于12. 我是否愿意分享自己的知识和经验?A. 非常愿意B. 比较愿意C. 一般D. 不愿意13. 我在团队中是否善于发现和解决问题?A. 非常善于B. 比较善于C. 一般14. 我是否愿意为团队的利益而牺牲个人利益?A. 非常愿意B. 比较愿意C. 一般D. 不愿意15. 我在团队中是否善于激励他人?A. 非常善于B. 比较善于C. 一般D. 不善于16. 我是否善于调整自己的心态?A. 非常善于B. 比较善于C. 一般D. 不善于17. 我是否善于接受他人的批评和建议?A. 非常善于B. 比较善于C. 一般D. 不善于18. 我在团队中是否善于承担责任?A. 非常善于C. 一般D. 不善于19. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于20. 我在团队中是否善于发挥自己的专长?A. 非常善于B. 比较善于C. 一般D. 不善于二、性格特点(20题)21. 我通常如何处理冲突?A. 积极沟通,寻求共识B. 避免冲突,寻求妥协C. 强调自己的立场D. 逃避问题22. 我是否善于接受新事物?A. 非常善于B. 比较善于C. 一般23. 我在遇到困难时,通常如何应对?A. 积极寻求解决方案B. 寻求他人帮助C. 等待他人给出建议D. 觉得问题无法解决24. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于25. 我在团队中是否善于承担责任?A. 非常善于B. 比较善于C. 一般D. 不善于26. 我是否善于发现和解决问题?A. 非常善于B. 比较善于C. 一般D. 不善于27. 我是否善于倾听他人的意见?A. 非常善于C. 一般D. 不善于28. 我是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于29. 我是否善于调整自己的心态?A. 非常善于B. 比较善于C. 一般D. 不善于30. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于31. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于32. 我是否善于接受他人的批评和建议?A. 非常善于B. 比较善于C. 一般D. 不善于33. 我是否善于分享自己的知识和经验?A. 非常愿意B. 比较愿意C. 一般D. 不愿意34. 我是否善于发现他人的优点?A. 非常善于B. 比较善于C. 一般D. 不善于35. 我是否善于提出建设性意见?A. 非常善于B. 比较善于C. 一般D. 不善于36. 我是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于37. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于38. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于39. 我是否善于接受新事物?A. 非常善于B. 比较善于C. 一般D. 不善于40. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于三、价值观(20题)41. 我认为以下哪个品质最重要?A. 诚信B. 责任C. 创新D. 团队合作42. 我是否愿意为团队的利益而牺牲个人利益?A. 非常愿意B. 比较愿意C. 一般D. 不愿意43. 我是否愿意分享自己的知识和经验?A. 非常愿意B. 比较愿意C. 一般D. 不愿意44. 我是否善于倾听他人的意见?A. 非常善于B. 比较善于C. 一般D. 不善于45. 我是否善于发现和解决问题?A. 非常善于B. 比较善于C. 一般D. 不善于46. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于47. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于48. 我是否善于接受他人的批评和建议?A. 非常善于B. 比较善于C. 一般D. 不善于49. 我是否善于发现他人的优点?A. 非常善于B. 比较善于C. 一般D. 不善于50. 我是否善于提出建设性意见?B. 比较善于C. 一般D. 不善于51. 我是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于52. 我是否善于调整自己的心态?A. 非常善于B. 比较善于C. 一般D. 不善于53. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于54. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般55. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于56. 我是否善于接受新事物?A. 非常善于B. 比较善于C. 一般D. 不善于57. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于58. 我是否愿意为团队的利益而牺牲个人利益?A. 非常愿意B. 比较愿意C. 一般D. 不愿意59. 我是否愿意分享自己的知识和经验?A. 非常愿意C. 一般D. 不愿意60. 我是否善于倾听他人的意见?A. 非常善于B. 比较善于C. 一般D. 不善于请您根据自己的实际情况,认真作答以上题目。
华为16道经典面试题面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。
对应聘者而言,了解这些问题背后的“猫腻”至关重要。
本文对面试中经常出现的一些典型问题进行了整理,并给出相应的回答思路和参考答案。
读者无需过分关注分析的细节,关键是要从这些分析中“悟”出面试的规律及回答问题的思维方式,达到“活学活用”。
问题一:“请你自我介绍一下”■思路:1、这是面试的必考题目。
2、介绍内容要与个人简历相一致。
3、表述方式上尽量口语化。
4、要切中要害,不谈无关、无用的内容。
5、条理要清晰,层次要分明。
6.最好是提前以单词的形式背下来。
问题二:“谈谈你的家庭情况”■思路:1.情况对了解应聘者的性格、观念、心态有一定的作用,这也是用人单位问这个问题的主要原因。
2、简单地罗列家庭人口。
3、宜强调温馨和睦的家庭氛围。
4、宜强调父母对自己教育的重视。
5、宜强调各位家庭成员的良好状况。
6.强调家庭成员对他们工作的支持是恰当的。
7、宜强调自己对家庭的责任感。
问题三:“你有什么业余爱好?”■思路:1、业余爱好能在一定程度上反映应聘者的性格、观念、心态,这是招聘单位问该问题的主要原因。
2、最好不要说自己没有业余爱好。
3、不要说自己有那些庸俗的、令人感觉不好的爱好。
4、最好不要说自己仅限于读书、听音乐、上网,否则可能令面试官怀疑应聘者性格孤僻。
5、最好能有一些户外的业余爱好来“点缀”你的形象。
问题四:“你最崇拜谁?”■思路:1.最崇拜的人在一定程度上能反映出应聘者的性格、观念和心态,这也是面试官问这个问题的主要原因。
2、不宜说自己谁都不崇拜。
3、不宜说崇拜自己。
4.崇拜一个虚幻的或未知的人是不合适的。
5、不宜说崇拜一个明显具有负面形象的人。
6、所崇拜的人人最好与自己所应聘的工作能“搭”上关系。
7、最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己。
问题五:“你的座右铭是什么?”■思路:1、座右铭能在一定程度上反映应聘者的性格、观念、心态,这是面试官问这个问题的主要原因。
华为⾯试题及答案华为⾯试题及答案这是第三次接到华为的⾯试电话了,第⼀交是⾃⼰投的简历,第⼆次及这次都是华为公司通过⽹络搜索到打的电话给我,前⾯两次我都是刚刚找到⼯作,然后就接到电话了,哎,真的是有点背运。
这次千万不能够错过,这是搞IT的⼈梦的都进的企业,我也是⼀样,希望能够去⼀个更好的地⽅,以便更好的发挥⾃⼰。
为了不使⾃⼰⼀点准备就去赴考场,还是先找点东西看看。
我从⽹上找到问题,然后再根据问题到⽹络寻找问题的,谢谢问题的提供者。
Q1:请你分别划划OSI的七层⽹络结构图,和TCP/IP的五层结构图?OSI词条,参见Q2:请你详细的解释⼀下IP协议的定义,在哪个层上⾯,主要有什么作⽤? TCP与UDP呢?UDP,TCP在传输层,IP在⽹络层, TCP/IP是英⽂Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/⽹际协议"。
TCP/IP协议组之所以流⾏,部分原因是因为它可以⽤在各种各样的信道和底层协议(例如T1和X.25、以太⽹以及RS-232串⾏接⼝)之上。
确切地说,TCP/IP协议是⼀组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他⼀些协议的协议组。
TCP/IP协议并不完全符合OSI的七层参考模型。
传统的开放式系统互连参考模型,是⼀种通信协议的7层抽象的参考模型,其中每⼀层执⾏某⼀特定任务。
该模型的⽬的是使各种硬件在相同的层次上相互通信。
这7层是:物理层、数据链路层、⽹路层、传输层、话路层、表⽰层和应⽤层。
⽽TCP/IP通讯协议采⽤了4层的层级结构,每⼀层都呼叫它的下⼀层所提供的⽹络来完成⾃⼰的需求。
这4层分别为:应⽤层:应⽤程序间沟通的层,如简单电⼦邮件传输(SMTP)、⽂件传输协议(FTP)、⽹络远程访问协议(Telnet)等。
华为公司面试问题及参考答案1. 如何优化一个网站或应用的性能?答:可以从多个方面入手,如减少HTTP请求、压缩资源文件、使用缓存、优化数据库访问、减少DOM元素数量等。
具体的优化措施需要根据具体的情况而定。
2. 什么是TCP/IP协议,每一层的作用是什么?答:TCP/IP协议是互联网传输控制协议(TCP)和互联网协议(IP)的结合。
其分为四层,分别是应用层、传输层、网络层和物理层。
应用层主要负责应用程序之间的通信;传输层主要负责数据传输的可靠性和流量控制;网络层主要负责路由和寻址;物理层主要负责数据传输的物理实现。
3. 什么是Linux内核,它的作用是什么?如何查看系统负载?答:Linux内核是Linux操作系统的核心部分,负责管理计算机的硬件资源、提供系统调用接口等。
可以使用命令行工具查看系统负载,如top、htop、uptime等。
4. 什么是多线程,有哪些优点和缺点?如何实现多线程编程?答:多线程是指在同一程序内开启多个并发执行的线程,可以提高程序的并发性和响应能力。
优点包括提高程序速度、充分利用CPU 资源、方便实现并发编程等;缺点包括线程安全性、线程间通信等问题。
多线程编程可以使用线程库,如Java中的Thread类和Runnable 接口,C++中的Pthread库等。
5. 如何实现分布式系统,有哪些常见的分布式算法和技术?答:分布式系统可以通过网络将多个计算机连接起来,实现资源共享、负载均衡等功能。
常见的分布式算法和技术包括一致性哈希、Paxos算法、ZooKeeper、RPC远程过程调用、消息队列等。
6. 什么是数据库索引,如何创建和使用?常用的索引类型有哪些?答:数据库索引是一种数据结构,在数据库表中建立索引,可以提高查询效率。
可以使用CREATE INDEX语句创建索引,并在查询语句中使用索引来加速查询。
常用的索引类型包括B树索引、哈希索引、全文索引等。
7. 什么是RESTful API,如何设计和实现?常见的HTTP方法有哪些?答:RESTful API是一种基于HTTP协议的Web服务,可以使用HTTP的GET、POST、PUT、DELETE等方法进行数据传输和操作。
1。
什么是预编译,何时需要预编译:答案:1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。
在这种情况下,可以将所有包含文件预编译为一个预编译头。
2。
char * const pchar const * pconst char *p上述三个有什么区别?答案:char * const p; //常量指针,p的值不可以修改char const * p;//指向常量的指针,指向的常量值不可以改const char *p;//和char const *p3。
char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc";const char str4[] = "abc";const char *str5 = "abc";const char *str6 = "abc";char *str7 = "abc";char *str8 = "abc";cout << ( str1 == str2 ) << endl;cout << ( str3 == str4 ) << endl;cout << ( str5 == str6 ) << endl;cout << ( str7 == str8 ) << endl;结果是:0 0 1 1str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。
4。
以下代码中的两个sizeof用法有问题吗?[C易]void UpperCase( char str[] ) // 将str 中的小写字母转换成大写字母{for( size_t i=0; i<sizeof(str)/sizeof(str[0]); ++i )if( 'a'<=str[i] && str[i]<='z' )str[i] -= ('a'-'A' );}char str[] = "aBcDe";cout << "str字符长度为: " << sizeof(str)/sizeof(str[0]) << endl;UpperCase( str );cout << str << endl;答案:函数内的sizeof有问题。
1.请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。
答:OSI七层网络结构图应用层表示层会话层传输层网络层数据链路层物理层TCP/IP的五层结构图应用层运输层网络层数据链路层物理层2.请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢?答:IP是Internet Protocol的简称,是网络层的主要协议,作用是提供不可靠、无连接的数据报传送。
TCP是Transmit Control Protocol(传输控制协议)的缩写,在运输层,TCP提供一种面向连接的,可靠的字节流服务;UDP是User Datagram Protocol(用户数据报协议)的缩写,在运输层,UDP提供不可靠的传输数据服务3.请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?答:交换机属于OSI第二层即数据链路层设备。
它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。
路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生。
交换机最大的好处是快速,路由器最大的好处是控制能力强。
4.请问C++的类和C里面的struct有什么区别?答:struct的成员的默认访问说明符为Public,而class的成员的默认访问说明符为Private。
其他没有区别----------------------------------------------插播广告:版权所有:朱科欢迎光临我的网站:,各位转贴别删,劳动成果啊----------------------------------------------5.请讲一讲析构函数和虚函数的用法和作用。
答:析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。
虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性6.全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?答:一些变量在整个程序中都是可见的,它们称为全局变量。
1:请你分别划OSI的七层网络结构图,和TCP/IP的五层结构图?/pic/paper/paper_20_1.gif/ArtImage/20051016/2005101629_1.jpgOSI的七层网络结构图,和TCP/IP的五层结构图OSIOSI是Open System Interconnect的缩写,意为开放式系统互联。
在OSI出现之前,计算机网络中存在众多的体系结构,其中以IBM公司的SNA(系统网络体系结构)和DEC公司的DNA(Digital Network Architecture)数字网络体系结构最为著名。
为了解决不同体系结构的网络的互联问题,国际标准化组织ISO(注意不要与OSI搞混))于1981年制定了开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)。
这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网络层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presen tation Layer)和应用层(Application Layer)。
第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。
当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。
物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。
总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
问题一:Could you please describe yourself?(能否请你形容一下自己?)这个问题,一来是想要了解你是什么样的人,二来是想看看你是否知道如何重点式地自我简介。
在回答时,要针对应征工作的性质来凸显自己的特色,可以多用形容词,并且引用过去的工作经验,但是不必提及公司组织的名称,再者,你还可以谈谈未来的生涯规画;但如果你是个社会新鲜人,就可以谈谈在校时的丰功伟业。
比方说,今天你打算去应征行销的职务,你就可以说︰ I am creative andmotivated. I worked on several major marketing projects with positiveresults. I am now looking for a challenging marketing position in anestablished company. (我有创意、又积极。
曾负责数项大型的行销项目,皆有成效。
我现在希望在一家深具规模的公司内,担任有挑战性的行销职务。
)问题二:Why do you think we should employ you?(你认为我们为何要雇用你?)雇主问此问题,希望你试图证明自己是最佳人选,并且测试你是否熟悉应征职务的工作内容。
回答时,要迎合该公司对该职务的期望,不过切记别给人狂妄自大的印象。
假设你今天要应征机械工程的工作,你就可以说︰ I am suitable for the position,not only because I have a masters degree in mechanical engineering, butalso because I have worked in this field for more than five years. I believe that my experience can be put to use in further developing your business. (我很适合该职位,不只因为我有机械工程学的硕士学位,更因为我在该产业已经有五年多的工作经验,我相信,我的经验可以派上用场,进一步推动贵公司的事业。
昨天下午机试三道题目:
1.字符去重,例如输入字符串:“aabbccdd”,输出字符串“abcd,要求,不改变字符的顺序。
2.求解类似于2+22+222+2222的和。
3.判断一个邮件地址是否有效。
例如:huawei@ 判断条件:只有一个@符号,最后四个字符是.com ;不含空格;字符只能是‘a-z’,‘A-Z’,‘1-9’,‘_’,‘.’,'@'
1.字符串首字母转换成大写
举例:
输入:this is a book
返回:This Is A Book
2.统计不同字符串的个数
举例:
输入:addfsdfasa
输出:4
3.统计数字出现的次数,最大次数的统计出来
举例:
输入:323324423343
输出:3,6
华为面向2013年招聘笔试题
笔试题目(机试,共两题)
题目一:子串分离
题目描述:
通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。
请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。
如果输入“abc def gh i d”,结果将是abc,def,gh,i,d,
要求实现函数:
void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】pInputStr:输入字符串
lInputLen:输入字符串长度
【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO 的输入输出
示例
输入:“abc def gh i d”
输出:“abc,def,gh,i,d,”
题目二:逆序链表输出。
题目描述:
将输入的一个单向链表,逆序后输出链表中的值。
链表定义如下:
typedef struct tagListNode
{
int value;
struct tagListNode *next;
}ListNode;
要求实现函数:
void converse(ListNode **head);
【输入】head:链表头节点,空间已经开辟好
【输出】head:逆序后的链表头节点
【返回】无
【注意】只需要完成该函数功能算法,中间不需要有任何IO 的输入输出
/*
题目描述(60分):
通过键盘输入一串小写字母(a~z)组成的字符串。
请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
比如字符串“abacacde”过滤结果为“abcde”。
要求实现函数:
void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】pInputStr:输入字符串
lInputLen:输入字符串长度
【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“deefd”输出:“def”
输入:“afafafaf”输出:“af”
输入:“pppppppp”输出:“p”
*/
/* main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用printf打印输出*/
/* 当前你可以使用其他方法测试,只要保证最终程序能正确执行即可*/
/* 该函数实现可以任意修改,但是不要改变函数原型。
一定要保证编译运行不受影响*/
/*
题目描述(40分):
通过键盘输入一串小写字母(a~z)组成的字符串。
请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1. 仅压缩连续重复出现的字符。
比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".
2. 压缩字段的格式为"字符重复的次数+字符"。
例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"
要求实现函数:
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】pInputStr:输入字符串
lInputLen:输入字符串长度
【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“cccddecc”输出:“3c2de2c”
输入:“adef”输出:“adef”
输入:“pppppppp”输出:“8p”
*/
/*
题目描述(50分):
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开。
补充说明:
1. 操作数为正整数,不需要考虑计算结果溢出的情况。
2. 若输入算式格式错误,输出结果为“0”。
要求实现函数:
void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】pInputStr:输入字符串
lInputLen:输入字符串长度
【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“4 + 7”输出:“11”
输入:“4 - 7”输出:“-3”
输入:“9 ++ 7”输出:“0”注:格式错误
*/。