1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 清華同方軟件測(cè)試工程師筆試題解答分享

        時(shí)間:2022-11-21 04:11:56 綜合指導(dǎo) 我要投稿
        • 相關(guān)推薦

        清華同方軟件測(cè)試工程師筆試題解答分享

        清華同方軟件測(cè)試工程師筆試題解答分享

          最近一位學(xué)員去同方面試,讓寫(xiě)個(gè)函數(shù),這個(gè)函數(shù)實(shí)現(xiàn)如下功能:

          求100個(gè)元素的數(shù)組中2進(jìn)制1的總數(shù)。

          其實(shí)考的是位運(yùn)算符,

          題目分解為求每個(gè)元素1的個(gè)數(shù),然后再循環(huán)即可。

          而如何求每個(gè)元素中1的個(gè)數(shù)呢?

          上次學(xué)員去神州數(shù)碼面試的時(shí)候,出了一道求一個(gè)元素2進(jìn)制1的個(gè)數(shù)的題目。詳見(jiàn):神州數(shù)碼軟件測(cè)試工程師筆試C語(yǔ)言題目詳解 其實(shí)如果神州的那個(gè)題目會(huì)的話,同方的這個(gè)題目就太簡(jiǎn)單了。

          我們每次筆試的時(shí)候,答題的思路

          首先應(yīng)該是想以前做沒(méi)有做過(guò)一樣的題目,如果有,直接照搬。

          再次想想有沒(méi)有做過(guò)類似的題目,如果有修改后照搬。

          最后是如果不是上面兩種情況,那做題目就比較傷腦筋了。只能靠我們平時(shí)學(xué)習(xí)多積累,多總結(jié),通過(guò)現(xiàn)象,找到作同類題目的本質(zhì)。只要本質(zhì)我們找到了,即使是最后一種情況,我們也就不怕了。//假設(shè)是地址傳遞。int a[]:接受主調(diào)函數(shù)傳遞過(guò)來(lái)的實(shí)參(實(shí)參為數(shù)組名)

          int calubinary(int a[])

          {

          int i;

          int n=0;//2進(jìn)制1的總數(shù)

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

          {

          //while循環(huán)計(jì)算1個(gè)元素中2進(jìn)制1的個(gè)數(shù)

          while(a!=0)

          {

          //通過(guò)這個(gè)公式,每次a中的2進(jìn)制1就會(huì)少1個(gè),如果a里面是5,也就是101,那么經(jīng)過(guò) //這個(gè)公式一次,a就變成100。下一次就變成了000,自己算算就知道了。

          a=a&(a-1);

          n++; //2進(jìn)制1的總數(shù)

          }

          }

          return n;

          }

          附神州數(shù)碼軟件測(cè)試工程師筆試C語(yǔ)言題目詳解 :

          1.

          void fun(void)

          {

          int count=0;

          int m=9999;

          while(m)

          {

          count++;

          m=m&(m-1);

          }

          printf(count);

          }

          這道題目考察的是10進(jìn)制到2進(jìn)制的轉(zhuǎn)換以及按位與運(yùn)算。9999轉(zhuǎn)換成2進(jìn)制為:

          10011100001111

          打印的count應(yīng)該是8。

          這個(gè)count的值與9999化成2進(jìn)制時(shí)1的個(gè)數(shù)有關(guān),9999中2進(jìn)制有8個(gè)1。所以count的值是8.

          這個(gè)題目考察的知識(shí)點(diǎn)在DC課堂上都重點(diǎn)講過(guò),所以不會(huì)應(yīng)該是自己的責(zé)任。

          2.在雙向鏈表存儲(chǔ)結(jié)構(gòu)中,刪除p所指的結(jié)點(diǎn)時(shí)須修改指針

          A:(p->llink)->rlink=p->rlink;

          (p->rlink)->llink=p->llink;

          B:p->llink=(p->llink)->llink;

          (p->llink)->rlink=p

          C:

          (p->rlink)->llink=p

          p->rlink=(p->rlink)->rlink

          D:

          p->rlink=(p->llink)->llink;

          p->llink=(p->rlink)->rlink;

          這個(gè)題目應(yīng)該選A

          在我們的DC課堂上對(duì)與單向鏈表以及其上的操作都講了,雙向鏈表沒(méi)有講。但如果單向鏈表會(huì),雙向也可以推理出來(lái),何況這是個(gè)選擇題目。

          如果這個(gè)沒(méi)做對(duì),情有可原。但是如果下次再做錯(cuò),自己就要好好想想了。

          3.定義一個(gè)結(jié)構(gòu)體:

          完成由Node類型結(jié)點(diǎn)構(gòu)成的一個(gè)單向鏈表的正向排序(由小到大)

          #include

          #include

          struct Node

          {

          struct Node *next;

          int value;

          };

          struct Node* InsertSort(void)

          {

          struct Node *Head=NULL,*New,*Cur,*Pre;

          int i;

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

          {

          if((New=(struct Node*)malloc(sizeof(struct Node)))==NULL)

          {

          printf("申請(qǐng)空間失敗\n");

          return NULL;

          }

          printf("請(qǐng)輸入節(jié)點(diǎn)的value\n");

          scanf("%d",&New->value);

          New->next=NULL;

          if(Head==NULL)

          {

          Head=New;

          continue;

          }

          if(New->value<=head->value)

          {//head之前插入節(jié)點(diǎn)

          New->next=Head;

          Head=New;

          continue;

          }

          Cur=Head;

          while(New->value>Cur->value && Cur->next!=NULL)

          {

          Pre=Cur;

          Cur=Cur->next;

          }

          if(Cur->value>=New->value)

          {

          Pre->next=New;

          New->next=Cur;

          }

          else

          //if(Cur!=New)

          Cur->next=New;

          }//for

          return Head;

          }

          void print(struct Node* Head)

          {

          struct Node* Cur;

          Cur=Head;

          while(Cur!=NULL)

          {

          printf("Cur->value=%d\n",Cur->value);

          Cur=Cur->next;

          }

          }

          void main(void)

          {

          struct Node* head;

          head=InsertSort();

          print(head);

          }

          程序已經(jīng)調(diào)試通過(guò),大家可以試試。

          這個(gè)題目也應(yīng)該會(huì),這個(gè)在課堂上要求過(guò)。插入一個(gè)有序單鏈表。

          這個(gè)題目只是筆試題,如果寫(xiě)出來(lái)的程序不能完全執(zhí)行,這個(gè)可以原諒的。

          如果大體的程序框架都寫(xiě)不出來(lái),這個(gè)可要自己仔細(xì)想想了。

        【清華同方軟件測(cè)試工程師筆試題解答分享】相關(guān)文章:

        世嘉軟件 筆試經(jīng)歷分享08-10

        記者筆試真題分享08-10

        軟件測(cè)試筆試題及答案08-04

        軟件測(cè)試筆試題及答案下載08-08

        軟件測(cè)試工程師面試題及答案分享08-08

        威盛軟件最新筆試題分享08-10

        分享上海綠地筆試真題08-10

        2016華為軟件測(cè)試筆試題及答案08-17

        聯(lián)想筆試題及解答07-31

        康佳軟件杭州筆試經(jīng)驗(yàn)分享 ZZ08-10

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>