技术无极限

常用链接

统计

最新评论

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<stdio.h>
void sub(char*s,int num)
{
 int i ,j=num;
 char t;
 while(j-->1)
 {
   for(i=0;i<j;i++)
   {
     if(s[i]<s[i+1])
     {
       t=s[i];
       s[i]=s[i+1];
       s[i+1]=t;
     }
   }
 }
}
main()
{
 char*s="CEAeded";
 sub(s,6);
 printf("%s\n",s)
}
//求结果
//4**********************************************
//交换两个变量的值,不使用第三个变量,即a=3,b=5交换
//后b=3,a=5
     unsigned char a=3,b=5;
    
    
//5**************************************************
#define N 100
void GetMemory1(char*p)
{
 p=(char*)malloc(sizeof(char)*N);
 strcpy(p,"Have a good day!");
}
char*GetMemory2(void)
{
 char p[]="Have a good day!";
 return p;
}
void main(void)
{
 char*str1=NULL,*str2=NULL;
 GetMemory1(str1);
 GetMemory2(str2);
 printf("\nstr1:%s",str1);
 printf("\nstr2:%s",str2);
 
//6******************************************************
//构造N个结点的单链表返回链表头指针,要求链表中各结点顺序
//与结点数据输入顺序相反,例如输入1,2,3,4,5,形成的链表为
//head->5 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;i<N;i++)
 {
  VP=New NODE;
  P->Data=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;i<d;i++)
 {
  D[i]=head->data;
  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)
{

}
   
  

posted on 2008-03-10 13:36 勇敢空心人 阅读(5107) 评论(3)  编辑 收藏 引用

评论

# re: MTK深圳公司嵌入式软件工程师笔试题 2009-10-15 10:06 bllau

请问题目有答案吗?有的话麻烦发一个到bllau@163.com,谢谢  回复  更多评论   

# re: MTK深圳公司嵌入式软件工程师笔试题 2009-11-05 20:52 勇敢空心人

sorry,我没有答案,我列出这些只是想记录一下他们的笔试题的概况,如果你基础知识掌握得很扎实,应该问题不大的,毕竟他们对应届毕业生的要求也不是特别的高的  回复  更多评论   

# re: MTK深圳公司嵌入式软件工程师笔试题 2010-03-11 09:09 yrh

第8题,有问题吧,感觉if和else对应的不太对啊。
  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理