文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>同方数码面试题

同方数码面试题

时间:2010-04-25  来源:280552108



1.M是一个Byte,请计算中 每个bit中为1的个数

#include <stdio.h>
int main()
{
  int i,count;
  char M=0x11;    /*00010001b*/

  printf("%x\n",M);
  for(i=0,count=0;i<8;i++)
  {
     if(  ((1<<i)&M)  != 0)  /*这个地方应该用 括号括起来*/
     {
       count++;
     }
  }
  printf("%d\n",count);
}


2.计算Num[100]中9的个数
#include <stdio.h>
int main()
{

  int i,count;
  char Num[100]={0x1,0x2,0x3,0x4,0x9,0x12,0x3,0x9};
  for(i=0,count=0;i<100;i++)
    if( *(Num+i) == 9)
      count++;

  printf("%d",count);
}


3.将整数M(4Bytes)转换成一个字符串
#include <stdio.h>

int main()
{
  int i=0;
  int M=12345;
  char str[12];
  do{
     str[ i ]= (M%10)+0x30;
     i++;           /*这个忘记了*/
  }while( (M=M/10)>0 );

  /*将str倒序即可*/
  printf("%s",str);
}


4.将一个字符串倒置
#include <stdio.h>
#include <string.h>

int main()
{

  int i,Len;
  char str[12]="abcdef";
  char temp;

  Len=strlen(str);
  for(i=0;i<Len/2;i++)
  {
    temp = *(str+i);
   *(str+i) = *(str-i+Len-1);
   *(str-i+Len-1) = temp;
  }
  printf("%s",str);
}


5.将一个单向链表 (linked list)逆序
(注:原题写成双向链表,是个陷阱)

/* h是头节点 */
  q = h->next;
  h->next = NULL;   /*  h->next 充当临时变量 */
  while( q!=NULL)
  { 
     p = q;
      q = q->next;
      p->next = h->next;
      h->next = p;
  }
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载