<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 中興軟件測試面試題

    時間:2024-09-23 16:42:20 面試筆試 我要投稿
    • 相關推薦

    中興軟件測試面試題

      1. 下面這段代碼的輸出是多少(在32位機上).

    中興軟件測試面試題

      char *p;

      char *q[20];

      char *m[20][20];

      int (*n)[10];

      struct MyStruct

      {

      char dda;

      double dda1;

      int type ;

      };

      MyStruct k;

      printf("%d %d %d %d",sizeof(p),sizeof(q),sizeof(m),sizeof(n),sizeof(k));

      答案:4,80,1600,4,24

      (1)

      char a[2][2][3]={{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}} };

      for(int i=0;i<12;i++)

      printf("%d ",__a[0][0][i]_);

      在空格處填上合適的語句,順序打印出a中的數字

      (2)

      char **p, a[16][8];

      問:p=a是否會導致程序在以后出現問題?為什么?

      答:沒有問題,只是使用時要小心,p是指向指針的指針。

      3.用遞歸方式,非遞歸方式寫函數將一個字符串反轉.

      函數原型如下:char *reverse(char *str);

      答:非遞歸方式:

      char *reverse(char *str)

      {

      if(str!=NULL)

      {

      int length = strlen(str);

      char *dst=NULL;

      dst=(char*)malloc((length+1)*sizeof(char));

      int i=0;

      for(i=0;i<length;i++)< p="">

      {

      dst[i]=str[length-1-i];

      }

      dst[i]='\0';

      printf("%s\n",dst);

      return dst;

      }

      }

      遞歸方式:

      int len = 0;

      void reverse(char *str)

      {

      int oldlen = len;

      int swap_len = len / 2;

      char *tmp = new char[swap_len + 1];

      memcpy(tmp, str, swap_len);

      memcpy(str, str + len - swap_len, swap_len);

      memcpy(str + len - swap_len, tmp, swap_len);

      [] tmp;

      if(swap_len == 1)

      return;

      len = swap_len;

      reverse(str);

      len = swap_len;

      reverse(str + oldlen - swap_len);

      }

      int main()

      {

      char test[] = "abcdefghijkl";

      //shift(test, strlen(test), 7);

      len = strlen(test);

      reverse(test);

      return 0;

      }

      4.strcpy函數和memcpy函數有什么區別?它們各自使用時應該注意什么問題?

      答:strcpy函數:拷貝字符串

      memcpy函數:拷貝任何數據

      5.寫一個函數將一個鏈表逆序.

      答:簡單

      6.一個單鏈表,不知道長度,寫一個函數快速找到中間節點的位置.

      答:兩個指針fast和low,fast每步移2個位置low每步移1個位置,當fast到達尾部時low就是中間結點。

      typedef struct linknode

      {

      int a;

      struct linknode *next;

      }linknode;

      linknode *findmiddle(linknode *head)

      {

      linknode *fast,*low,*p;

      if(head==NULL)

      {

      return NULL;

      }

      fast=low=head;

      while(!(p=fast->next)&&!p->next)

      {

      low=low->next;

      fast=p->next;

      }

      return low;

      }

      7.寫一個函數找出一個單向鏈表的倒數第n個節點的指針.(把能想到的最好算法寫出).

      答:兩個指針,第一個先于第二個n個位置。

      LinkNode IsLoopList(LinkNode *head,int n)

      {

      LinkNode *p1,*p2;

      p1 =p2= head;

      While(n-->=0)

      {

      P2= p2->next;

      }

      While(p2->next!=NULL)

      {

      P2 = p2->next;

      P1 = p1->next;

      }

      Return p1; //當p2到達結尾時,后于p2 n個位置的就是倒數第n個節點。

      }

      8.補充一題:

      給你一個單向鏈表的頭指針,可能最后不是NULL終止,而是循環鏈表。題目問你怎么找出這個鏈表循環部分的第一個節點。比如下面的鏈表:

      0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> (3) 循環,就應該返回結點3的位置。

      當然盡量用少的空間和時間是題目的要求。

      答:

      10.判斷鏈表是否循環;

      答:bool IsLoopList(LinkNode *head)

      {

      LinkNode *p1= head,*p2= head;

      if(head ->next==NULL) //只包含頭節點,且頭節點的next為NULL說明肯定不是循環鏈表

      return false;

      do{

      p1=p1->next; //步長為1

      p2=p2->next->next; //步長為2

      }while(p2 && p2->next && p1!=p2);

      if(p1==p2)

      return true;

      else

      return false;

      }

      11.用遞歸算法判斷數組a[N]是否為一個遞增數組。

      答:遞歸算法:

      #include

      #include

      #define N 5

      int Judgment(int a[],int num);

      int main()

      {

      int a[N], i, flag = 1;

      printf("Enter array data: ");

      for (i = 0; i < N; i++)

      {

      scanf("%d", &a[i]); //輸入數組元素

      }

      flag = Judgment(a,N); //調用遞歸函數

      if (flag == 1)

      {

      printf("increment array.\n");

      }

      else if (flag == 0)

      {

      printf("no increment array.\n");

      }

      return 0;

      }

      int Judgment(int a[],int num)

      {

      for (int i=num-1;i>=0;i--)

      {

      if(a[i]<a[i-1])< p="">

      return 0;

      Judgment(a,i);

      }

      return 1;

      }

      非遞歸算法:

      #include

      #include

      #define N 5

      int Judgment(int a[], int num);

      int main()

      {

      int a[N], i, flag = 1;

      printf("Enter array data: ");

      for (i = 0; i < N; i++)

      {

      scanf("%d", &a[i]);

      }

      flag = Judgment(a, N);

      if (flag == 1)

      {

      printf("increment array.\n");

      }

      else if (flag == 0)

      {

      printf("no increment array.\n");

      }

      return 0;

      }

      int Judgment(int a[], int num)

      {

      static i = 0, flag = 1;

      for(i=0; i<num;i++)< p="">

      {

      if (a[i] >= a[i+1]) //假如發現哪兩個不是遞增,立刻跳出;

      {

      flag = 0;

      break;

      }

      }

      return flag;

      }


    【中興軟件測試面試題】相關文章:

    中興筆試+面試題目11-21

    職場跳槽首選軟件測試11-24

    軟件測試筆試題及答案02-21

    軟件測試筆試題201511-24

    中興面試筆試10-26

    軟件測試:4大魅力吸引跳槽11-18

    軟件測試筆試題及答案下載02-24

    中興的面試經驗總結02-23

    中興面試經驗總結!02-24

    中興硬件筆試真題09-26

    主站蜘蛛池模板: 国产精品久久波多野结衣| 华人在线精品免费观看| 好吊妞视频精品| 欧美精品福利在线视频| 精品国产欧美一区二区| 亚洲精品午夜国产VA久久成人 | 日本Aⅴ大伊香蕉精品视频 | 国产AV国片精品| 亚洲精品乱码久久久久久不卡| 国内精品久久久久久久影视麻豆| 精品一区二区久久| 欧美精品videosse精子| 亚洲精品无码成人AAA片| 国内精品51视频在线观看| 亚洲国产精品无码久久一线| 久久九九久精品国产| 成人国产精品动漫欧美一区| 国产精品久久网| 99久久精品日本一区二区免费| 熟妇人妻VA精品中文字幕| 一区二区三区精品高清视频免费在线播放 | 国产精品hd免费观看| 国产cosplay精品视频| 久久夜色精品国产噜噜麻豆| 亚洲人精品午夜射精日韩| 偷拍精品视频一区二区三区| 久久精品国产亚洲av瑜伽| 国产精品99精品视频网站| 99热都是精品久久久久久| 一级香蕉精品视频在线播放| 久久精品国产秦先生| 国产成人精品免费视频动漫| 国产乱子伦精品无码码专区| 久久66热人妻偷产精品9| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 国产精品嫩草影院AV| 精品久久久久久久无码| 精品人妻中文av一区二区三区| 精品国产a∨无码一区二区三区 | 国产精品99精品久久免费| 日韩人妻精品无码一区二区三区|