MTK 深圳公司嵌入式软件工程师笔试题 //MTK 深圳嵌入式软件工程师笔试题(B 卷) //1***************************************** #define pi 3.14 #define Area(R) pi*R*R main() { int r1=5,r2=2; double s=0; s=Area(r1-r2); printf("The area is %f",s); } //求结果 //2********************************************* //函数 int compare(int a,int b),定义为该函数的函数指针 P:为_______________ //3********************************************* #include void sub(char*s,int num) { int i ,j=num; char t; while(j-->1) { for(i=0;i5 4 3 2 1 ,补充程序 #define N 10 typedef struct Node { int data; struct Node*next; }NODE; int Get_Data(int i);//定义省略 Node*Create_u() { int i; NODE*p,*Head=NULL; for(i=0;iData=Get_Data(i); ________________; ________________; } return Head; } //7********************************************** //N 个结点链表,每个结点中存放一个字符,判断链表存放的字符是否 //中心对称,即 a b c c b a 或 a b c b a,补充程序 typedef struct Node { int data; struct Node*next; }NODE; bool Is_symmeic(NODE*head,*int n) { char D[N]; int i,d; __________; for(i=0;idata; head=head->next; } if(__________) { head=head->next; } while(head) { _______________; if(D[i]!=head->data) { return false; } head=head->next; } return true; } //8************************************* //str 中只含有大写和小写字母函数change_move(char*str)将字符串中大写改成*并 //移到前面小写后返回*的个数 //如 AabBdcYY 改为*****abd,返回5 int chang_move(char*str) { int len,i,curstr=-1; len=strlen(str); for(i=len-1;i>=0;i--) { if(str[i]>='A'&&str[i]<='Z') { str[i]='*'; if(cursor==-1) { cursor=i; } else if(cursor>i) { _____________; str[i]='*'; _____________; } } return____________; } //9*********************************************** //求两个字符串的第一个公共子串,并返回该子串 //如:"a b c d e f g e h i" "a a c d e f * * g e h i" //第一个为"c d e f";不许用 strcmp() char*Maxf(char*str1,char*str2) { }