华为C语言机试题面试题汇总.doc

1第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50includestdio.hmain int num500; int i,n; printf请输入整型数组的长度150; scanfd,n; printf请输入整型数组的元素; for i0;in;i scanfd,numi; int min_numnum0; int max_numnum0; forint j0;jn;j ifmax_numnumj max_numnumj; else ifmin_numnumj min_numnumj; int summin_nummax_num; printf数组中最大与最小值之和dn,sum; return 0;2求两个长长整型的数据的和并输出,例如输入1233333333333333。3111111111111111111111111.。,则输出includestdio.hincludestring.hincludemalloc.hmain char *num1,*num2; 两个长长整型数据 char *sum; int temp;int len_num1,len_num2; 两个长长整型数据的长度 int len_max,len_min;num1char*mallocsizeofchar; num2char*mallocsizeofchar; printf输入两个长长整型数据; scanfs,num1; printf输入两个长长整型数据; scanfs,num2; len_num1strlennum1; len_num2strlennum2; len_maxlen_num1len_num2 len_num1len_num2; len_minlen_num1len_num2 len_num1len_num2;int len_max1len_max; sumchar*mallocsizeofchar*len_max;memsetsum,0 x00,len_max1;切忌初始化 for;len_num10len_num20;len_num1,len_num2 sumlen_maxnum1len_num1-1-0num2len_num2-1-0; iflen_num10 sumlen_maxnum1len_num1 - 1 -0; len_num1; iflen_num20 sumlen_maxnum1len_num2 - 1-0; len_num2; forint jlen_max1;j0;j 实现进位操作 tempsumj-0; ifsumj10 sumj-1sumj/10; sumj10; char *outsumchar*mallocsizeofchar*len_max1; j0; whilesumj0 跳出头部0元素 j;forint m0;mlen_max1;j,m outsummsumj0; outsumm0; printf输出两长长整型数据之和sn,outsum; return 0;3.通过键盘输入一串小写字母az组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数void stringFilterconst char *pStr, long lLen, char *pOutputStr;【输入】pStr输入字符串lLen输入字符串长度【输出】pOutputStr输出字符串,空间已经开辟好,与输入字符串等长;include stdio.hincludestring.hincludemalloc.hvoid stringFilterconst char *p_str, long len, char *p_outstrint array2560;const char *tmp p_str;forint j0;jlen;j ifarraytmpj0 *p_outstr tmpj; arraytmpj; *p_outstr 0;void main char *str cccddecc char * outstr char *malloclen*sizeofchar; stringFilterstr,len,outstr; printfsn,outstr; freeoutstr; outstr NULL;4.通过键盘输入一串小写字母az组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则1.仅压缩连续重复出现的字符。比如字符串abcbc由于无连续重复字符,压缩后的字符串还是abcbc.2.压缩字段的格式为字符重复的次数字符。例如字符串xxxyyyyyyz压缩后就成为3x6yz要求实现函数void stringZipconst char *pStr, long lLen, char *pOutputStr;【输入】pStr 输入字符串lLen 输入字符串长度【输出】pOutputStr 输出字符串,空间已经开辟好,与输入字符串等长;include stdio.hincludestring.hincludemalloc.hvoid stringZipconst char *p_str, long len, char *p_outstr int count1; forint i0;ilen;i ifp_strip_stri1 count; else ifcount1 *p_outstr count 0; *p_outstr p_stri; else *p_outstr p_stri; count 1;注意其位置 *p_outstr 0;void main char *str cccddecc压缩之前的字符串为sn,str; int len strlenstr; char * outstr char*malloclen*sizeofchar; stringZipstr,len,outstr; printf压缩之后的字符串为sn,outstr; freeoutstr; outstr NULL;5.通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为“操作数1运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。补充说明1.操作数为正整数,不需要考虑计算结果溢出的情况。2.若输入算式格式错误,输出结果为“0”。要求实现函数void arithmeticconst char *pStr, long lLen, char *pOutputStr;【输入】pStr 输入字符串lLen 输入字符串长度【输出】pOutputStr 输出字符串,空间已经开辟好,与输入字符串等长;include stdio.hincludestring.hincludestdlib.hvoid arithmeticconst char *, long len, char *output char s110; char s210; char s310; int cnt 0; int len_strlen; forint i0;ilen_;i ifi cnt; ifcnt2 *output 0; *output 0; return; sscanf,s s s,s1,s2,s3; ifstrlens21s20s20- *output 0; *output 0; return; int len_s1strlens1; fori0;ilen_s1;i ifs1i0s1i9 *output 0; *output 0; return; int len_s3strlens3; fori0;ilen_s3;i ifs3i0s3i9 *output 0; *output 0; return; int x atois1; int y atois3; ifs20 int result xy;itoaresult,output,10; else ifs20- int result x-y; itoaresult,output,10; else *output 0; *output 0; return; void main char str 10 - 23 int len strlenstr; arithmeticstr,len,outstr; printfsn,str; printfsn,outstr;6.一组人(n个),围成一圈,从某人开始数到第三个的人出列,再接着从下一个人开始数,最终输出最终出列的人(约瑟夫环是一个数学的应用问题已知n个人(以编号1,2,3.n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。)include stdio.hincludestring.hincludestdlib.hincludemalloc.htypedef struct Node int data; struct Node *next;LinkList;LinkList *createint n LinkList *p,*q,*head; int i1; pLinkList*mallocsizeofLinkList; p-datai; headp; fori1;in;i qLinkList*mallocsizeofLinkList; q-datai1; p-nextq; pq; p-nexthead; 使链表尾连接链表头,形成循环链表 return head; freep; pNULL; freeq; qNULL;void deletefunLinkList *L,int m LinkList *p,*q,*temp; int i; pL;whilep-nextp fori1;im;i qp; pp-next; printf5d,p-data; tempp; q-nextp-next; pp-next; freetemp; printf5dn,p-data;int main int n7,m3; LinkList *head1; head1createn; deletefunhead1,m; return 0;7输入一串字符,只包含“0-10”和“,”找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数。如输入“3,3,4,5,6,7,7”includestdio.hincludestdlib.hincludestring.hvoid main char str100; printf输入一组字符串n; scanfs,str; int lenstrlenstr; int array100; int count0; forint i0;ilen;i ifstri0stri9 arraycountstri-0; arraycount0; int resultcount; int minarray0; int maxarray0; forint j0;jcount;j ifmaxarrayj maxarrayj; else ifminarrayj minarrayj; forint k0;kcount;k ifarraykmin result; ifarraykmax result; printfdn,result;8.输入一组身高在170到190之间(5个身高),比较身高差,选出身高差最小的两个身高;若身高差相同,选平均身高高的那两个身高;从小到大输出;如输入170 181 173 186 190输出170 173includestdio.hincludestdlib.hdefine N 5int main int HeightN; int dmin; int H1,H2; int i,j,temp; printf请输入一组身高在170到190之间的数据(共5个)n; forint k0;kN;k scanfd,Heightk; printfn; fori0;iN;i forj1;jN-iHeightj-1Heightj;j tempHeightj-1; Heightj-1Heightj; Heightjtemp; H1Height0; H2Height1; dminH2-H1; forint m2;mN;m ifHeightm-Heightm-1dmin H1Heightm-1; H2Heightm; dminHeightm-Heightm-1; printf身高差最小的两个身高为n; printfd,dn,H1,H2; return 0;9.删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。include stdio.hinclude stdlib.hinclude assert.hinclude string.hint delete_sub_strconst char *str,const char *sub_str,char *result assertstr NULL sub_str NULL; const char *p,*q; char *t,*temp; p str; q sub_str; t result; int n,count 0; n strlenq; temp char *mallocn1; memsettemp,0 x00,n1; while*p memcpytemp,p,n; ifstrcmptemp,q 0 count; memsettemp,0 x00,n1; p p n; else *t *p; p; t; memsettemp,0 x00,n1; freetemp; return count;void main char s100 0; int num delete_sub_str“123abc12de234fg1hi34j123k”,”123”,s; printf“The number of sub_str is drn”,num; printf“The result string is srn”,s;10.要求编程实现上述高精度的十进制加法。要求实现函数void add const char *num1, const char *num2, char *result【输入】num1字符串形式操作数1,如果操作数为负,则num10为符号位-num2字符串形式操作数2,如果操作数为负,则num20为符号位-【输出】result保存加法计算结果字符串,如果结果为负,则result0为符号位。includestdio.hincludestdlib.hincludestring.h void movechar *str, int length 移除字母前的-符号 ifstr0 - return; int i; fori 0; i length-1; i stri stri1; stri 0;int remove_zerochar *result, int length int count 0; forint i length-1; i 0; i 从最后开始移除0,直到遇到非0数字,只对最初位置上的0不予判断 ifresulti 0 resulti 0; count; else return length-count; return length - count;void reversechar *result, int length 将字符串倒转 char temp; forint i 0; i length-1/2; i temp resulti; resulti resultlength-1-i; resultlength-1-i temp; int real_addchar *str1, char *str2, char *result, const bool flag int len1 strlenstr1; int len2 strlenstr2; int n1, n2, another 0; another表示进位 int cur_rs 0; 表示result的当前位数 int i, j; int curSum; fori len1-1, j len2-1; i 0 j 0; i, j n1 str1i - 0; n2 str2j - 0; curSum n1 n2 another; resultcur_rs curSum 10 0; another curSum / 10; ifj 0 whilei 0 遍历str1剩余各位 n1 str1i - 0; curSum n1 another; resultcur_rs curSum 10 0; another curSum / 10; ifanother 0 如果还有进位未加上 resultcur_rs another 0; else whilej 0 n2 str2j - 0; curSum n2 another; resultcur_rs curSum 10 0; another curSum / 10; ifanother 0 resultcur_rs another 0; resultcur_rs 0; cur_rs remove_zeroresult, cur_rs; ifflag resultcur_rs -;

华为c语言机试题库及答案,华为C语言机试题面试题汇总.doc相关推荐

  1. c语言上机试题库及答案,《C语言上机试题及答案》.doc

    PAGE PAGE 22 实验一 Visual C++6.0的使用及顺序结构程序设计 一.实验目的 1.掌握启动和退出VC6的方法. 2.熟悉VC6开发环境. 3.初步掌握简单程序的上机操作基本步骤, ...

  2. C语言有三个电阻r1r2r3,[VR虚拟现实]ARM硬件试题库及答案(37页)-原创力文档

    (VR虚拟现实)ARM硬件试题库及答案 嵌入式硬件助理工程师认证考试试题题库 选择题 1.以下说法不正确的是(B). A.任务可以有类型说明B.任务可以返回一个数值 C.任务可以有形参变量D.任务是一 ...

  3. c语言书籍推荐国二,推荐国二c语言笔试题库(含答案)可转TXT.doc

    推荐国二c语言笔试题库(含答案)可转TXT 第一章 C语言概述 一 单项选择题 1.一个C程序的执行是从( A ). A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开 ...

  4. e会学c语言程序设计答案铜陵学院答案,大学物理分章节试题库-有答案

    83男人节-早安短信 大学物理分章节试题库-有答案 大学物理力学部分: 1.一个质点在做圆周运动时,则有(B). A.切向加速度一定改变,法向加速度也改变 B.切向加速度可能不变,法向加速度一定改变 ...

  5. 计算机笔试知识题库及答案解析,计算机笔试题库及答案.docx

    计算机笔试题库及答案 计算机的出现和逐步的普及,信息对整个社会的影响 逐步提高到一种绝对重要的地位.以下是计算机笔试题库 及答案,欢迎阅读. 世界上公认的第一台电子计算机诞生的年代是. TOC \o ...

  6. 电力计算机考试题库带答案,计算机考试试题库带答案.doc

    计算机考试试题库带答案.doc (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 7.9 积分 考试试题库1.用高级程序设计语言编写的程序称为___c ...

  7. 计算机基础知识应用统考,计算机基础知识计算机应用基础统考试题库及答案

    计算机基础知识计算机应用基础统考试题库及答案 第第1 1章章 计算机基础知识计算机基础知识( (单选题单选题) ) ((其实我所给的这些典型题目就是期末考试题或统考题,因此必做.参考答案在另其实我所给 ...

  8. 广东计算机应用基础试题及答案2019,2019年计算机应用基础试题库及答案.pdf

    2019年计算机应用基础试题库及答案 l <计算机应用基础>考试题库及参考答案 一.选择题: 1. 在计算机应用中,"计算机辅助设计"的英文缩写为__A__. A. C ...

  9. 二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)

    填空题 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息.ss所指字符串数组中共有N个字符串,且串长小于M.程序中 ...

最新文章

  1. Datawhale赛事大满贯来了!
  2. 石油污染土壤微生物群落构建与生物多样性研究
  3. why wechat is not a good place for the learning, but csdn is
  4. python requests返回值为200 但是text无内容_爬取高清无版权美图
  5. mysql免安装服务器配置_MYSQL免安装环境配置
  6. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)
  7. NOI数学:莫比乌斯变换
  8. MySQL实现类似Oracle的序列
  9. 轻量化网络:ShuffleNet
  10. 【转】《从入门到精通云服务器》第三讲-配置与升级云服务器
  11. 《大学计算机基础》试题题库及答案
  12. mysql英文版怎么调中文_MySQL英文版的使用
  13. 三星升级助手无法连接服务器,三星S 换机助手不能连接手机怎么办?
  14. 校验导入的Excel文件标题行与要求的标题行是否一致
  15. 简单的Android程序多少钱,Android简单程序利息计算器
  16. 什么是大数据lambda架构
  17. Nginx 414 Request-URI Too Large
  18. 怎么批量创建文件夹并命名?
  19. Wireshark 抓包BLE环境配置常见问题总结(配合nRF52832/nRF52840 Sniffer Dongle)
  20. 厉害的app应该注重哪些用户需求?

热门文章

  1. UESTC 2014 Summer Training #7 Div.2
  2. etermPID配置放大软件下载使用部署
  3. NLP牛客网面经总结
  4. 精细化ASO帮助开发者在App Store中突围
  5. ViewPager添加小圆点
  6. 小米手机进行测试uiautomator出现的故障
  7. springboot 第章 springboot 与索引
  8. 实用epub阅读器分享
  9. 网络基础知识 TCP UDP IP
  10. 多页面分页打印功能实现