嵌入式软件工程师笔试题华为面试宝典.doc

嵌入式软件工程师笔试题华为面试宝典.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式软件工程师笔试题华为面试宝典

1、将一个字符串逆序 2、将一个链表逆序 3、计算一个字节里(byte)里面有多少bit被置1 4、搜索给定的字节(byte) 5、在一个字符串中找到可能的最长的子字符串 6、字符串转换为整数 7、整数转换为字符串 /* * 题目:将一个字符串逆序 * 完成时间:2006.9.30深圳极讯网吧 * 版权归刘志强所有 * 描述:写本程序的目的是希望练一下手,希望下午去面试能成功,不希望国庆节之后再去找工作拉! */ #include lt;iostreamgt; using namespace std; //#define NULL ((void *)0) char * mystrrev(char * const dest,const char * const src) { if (dest==NULL amp;amp; src==NULL) return NULL; char *addr = dest; int val_len = strlen(src); dest[val_len] = ‘\0’; int i; for (i=0; ilt;val_len; i++) { *(dest+i) = *(src+val_len-i-1); } return addr; } main() { char *str=quot;asdfaquot;; char *str1=NULL; str1 = (char *)malloc(20); if (str1 == NULL) coutlt;lt;quot;malloc failedquot;; coutlt;lt;mystrrev(str1,str); free(str1); str1=NULL;//杜绝野指针 } p=head; q=p-gt;next; while(q!=NULL) { temp=q-gt;next; q-gt;next=p; p=q; q=temp; } 这样增加个辅助的指针就行乐。 ok 通过编译的代码: #include lt;stdio.hgt; #include lt;ctype.hgt; #include lt;stdlib.hgt; typedef struct List{ int data; struct List *next; }List; List *list_create(void) { struct List *head,*tail,*p; int e; head=(List *)malloc(sizeof(List)); tail=head; printf(quot;\nList Create,input numbers(end of 0):quot;); scanf(quot;%dquot;,amp;e); while(e){ p=(List *)malloc(sizeof(List)); p-gt;data=e; tail-gt;next=p; tail=p; scanf(quot;%dquot;,amp;e);} tail-gt;next=NULL; return head; } List *list_reverse(List *head) { List *p,*q,*r; p=head; q=p-gt;next; while(q!=NULL) { r=q-gt;next; q-gt;next=p; p=q; q=r; } head-gt;next=NULL; head=p; return head; } void main(void) { struct List *head,*p; int d; head=list_create(); printf(quot;\nquot;); for(p=head-gt;next;p;p=p-gt;next) printf(quot;--%d--quot;,p-gt;data); head=list_reverse(head); printf(quot;\nquot;); for(p=head;p-gt;next;p=p-gt;next) printf(quot;--%d--quot;,p-gt;data); } 编写函数数N个BYTE的数据中有多少位是1。 解:此题按步骤解:先定位到某一个BYTE数据;再计算其中有多少个1。叠加得解。 #incluedelt;iostreamgt; #define N 10 //定义BYTE类型别名 #ifndef BYTE typedef unsigned char BYTE; #endif int comb(BYTE b[],int n) { int count=0; int bi,bj;

文档评论(0)

zyg_2930102 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档