MTK 深圳公司嵌入式软件工程师笔试题 //MTK 深圳嵌入式软件工程师笔试题(B 卷)//1*****************************************#define pi 3.14#define Area(R) pi*R*Rmain(){ 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*********************************************#includevoid sub(char*s,int num){ int i ,j=num; char t; while(j-->1) { for(i=0;i5 4 3 2 1 ,补充程序#define N 10typedef 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,返回 5int 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){}