<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

    主站蜘蛛池模板: 99久久精品免费看国产免费| 黄床大片免费30分钟国产精品| 成人免费精品网站在线观看影片| 一本久久精品一区二区| 欧美亚洲国产精品第一页| 亚洲精品成人片在线观看精品字幕 | 国产精品嫩草影院AV| 久久99精品免费一区二区| 亚洲国产成人精品不卡青青草原 | 久久精品九九亚洲精品| 久久青青草原精品国产不卡| 亚洲欧美日韩精品| 国产成人亚洲合集青青草原精品| 欧美精品中文字幕亚洲专区| 欧美精品www| 国产精品污WWW一区二区三区 | 亚洲国产精品高清久久久| 精品国产婷婷久久久| 成人精品一区二区久久| 麻豆精品不卡国产免费看| 97久久国产亚洲精品超碰热| 欧美日韩人妻精品一区二区在线| 亚洲精品V欧洲精品V日韩精品| 欧美在线精品一区二区三区 | 国产亚洲精品拍拍拍拍拍| 91久久精品视频| 中文精品一卡2卡3卡4卡| 欧美精品在线一区| 欧美777精品久久久久网| 久久99热精品| 好属妞这里只有精品久久| 国产精品成人免费福利| 成人久久精品一区二区三区| 丰满人妻熟妇乱又仑精品| 国产a∨精品一区二区三区不卡| 精品国产sm捆绑最大网免费站| 久久精品天天中文字幕人妻| 日韩精品人妻系列无码专区| 久久亚洲精品无码AV红樱桃| 精品无码久久久久久尤物| 国产精品视频色拍拍|