嵌入式工程师面试题_第1页
嵌入式工程师面试题_第2页
嵌入式工程师面试题_第3页
嵌入式工程师面试题_第4页
嵌入式工程师面试题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、将一个字符串逆序 2、将一个链表逆序 3、计算一个字节里(byte)里面有多少bit被置1 4、搜索给定的字节(byte) 5、在一个字符串中找到可能的最长的子字符串 6、字符串转换为整数 7、整数转换为字符串style=MARGIN: 0px; COLOR: rgb(102,102,102); LINE-HEIGHT: 150% wrap=break-word1、char *strconv(char *p) int i,length; char temp; length = strlen(p); for(i = 0;i length/2;i+) temp = *(p + i); *(p

2、+ i) = *(p + length - 1 - i); *(p +length - 1 - i) = temp; return p;int main() char src100; char *p; scanf(%s,src); p = strconv(src); printf(%sn,p); return 0;style=MARGIN: 0px; COLOR: rgb(102,102,102); LINE-HEIGHT: 150% wrap=break-word3、int cal(int data) /calculation the number of bit in one byte in

3、t a; int count = 0; a = data % 100; while (a != 0) count += a % 2; a /= 2; return count;int main() int d,count; scanf(%d,&d); count = cal(d); printf(%d of onen,count); return 0;style=MARGIN: 0px; COLOR: rgb(102,102,102); LINE-HEIGHT: 150% wrap=break-word4、#include#includevoid findmax(char *p) int j

4、= 0,max = 0; int count = 0; char record200; char recordmax200; for(int i = 0;i+) if(*(p + i) = ) | (*(p + i) = 0) if(count max) max = count; recordj = 0; strcpy(recordmax,record); count = 0; j = 0; else recordj = *(p + i); count +; j +; if(*(p + i) = 0) break; printf(%sn,recordmax); int main() char

5、str=zeng weidsfdsaf langd hah; printf(%sn,str); findmax(str); return 0;style=MARGIN: 0px; COLOR: rgb(102,102,102); LINE-HEIGHT: 150% wrap=break-word#include#include#includetypedef struct shopping char goods100; struct shopping *next;SHOP;SHOP *buildlink() /创建链表 char goods100; SHOP *head,*p,*h; p = (

6、SHOP *)malloc(sizeof(SHOP); head = p; head-next = NULL; printf(Input three goods:); for(int i = 0;i goods,goods); p-next = NULL; if(head-next = NULL) head-next = p; h = p; else h-next = p; h = h-next; return head;void showlink(SHOP *head) /显示链表 SHOP *p; p = head-next; while(p != NULL) printf(%s ,p-g

7、oods); p = p-next; printf(n);SHOP *revlink(SHOP *head) /反转链表 SHOP *p,*newp; p = head-next; head-next = NULL; while(p != NULL) newp = p; p = p-next; newp-next = head-next; head-next = newp; return head;int delnode(SHOP *head,char *str) /delete success return 1,else return 0 SHOP *q,*p = head; while(p

8、-next != NULL) q = p; p = p-next; if(!strcmp(str,p-goods) q-next = p-next; free(p); /p = q-next; return 1; return 0; int main() SHOP *head; SHOP *newhead; head = buildlink(); showlink(head); newhead = revlink(head); showlink(newhead); showlink(head); printf(Delete a node:); char str50; scanf(%s,str)

9、; int i; i = delnode(head,str); showlink(head); if(i = 1) printf(Delete successful!n); return 0;style=MARGIN: 0px; COLOR: rgb(102,102,102); LINE-HEIGHT: 150% wrap=break-word#include#include#includetypedef struct shopping char goods100; struct shopping *next;SHOP;SHOP *buildlink() /创建链表 char goods100

10、; SHOP *head,*p,*h; p = (SHOP *)malloc(sizeof(SHOP); head = p; head-next = NULL; printf(Input three goods:); for(int i = 0;i goods,goods); p-next = NULL; if(head-next = NULL) head-next = p; h = p; else h-next = p; h = h-next; return head;void showlink(SHOP *head) /显示链表 SHOP *p; p = head-next; while(

11、p != NULL) printf(%s ,p-goods); p = p-next; printf(n);SHOP *revlink(SHOP *head) /反转链表 SHOP *p,*newp; p = head-next; head-next = NULL; while(p != NULL) newp = p; p = p-next; newp-next = head-next; head-next = newp; return head;int delnode(SHOP *head,char *str) /delete success return 1,else return 0 S

12、HOP *q,*p = head; while(p-next != NULL) q = p; p = p-next; if(!strcmp(str,p-goods) q-next = p-next; free(p); /p = q-next; return 1; return 0; int main() SHOP *head; SHOP *newhead; head = buildlink(); showlink(head); newhead = revlink(head); showlink(newhead); showlink(head); printf(Delete a node:);

13、char str50; scanf(%s,str); int i; i = delnode(head,str); showlink(head); if(i = 1) printf(Delete successful!n); return 0;style=MARGIN: 0px; COLOR: rgb(102,102,102); LINE-HEIGHT: 150% wrap=break-word#include stdio.h#include stdlib.hint myAtoi(char *s);void main() int i; char *s=(char *)malloc(10*sizeof(char); if (s=NULL) printf(fail to malloc sn); return; while(1) scanf(%s,s); if (*s)=q) b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论