<strike id="6q0um"></strike>
  • <strike id="6q0um"><s id="6q0um"></s></strike>
  • <ul id="6q0um"></ul><strike id="6q0um"></strike>

    當(dāng)前位置:高考升學(xué)網(wǎng) > 招聘筆試題 > 正文

    騰訊2019校園招聘技術(shù)類筆試題和面試題答案(二)

    更新:2023-09-19 04:06:07 高考升學(xué)網(wǎng)

    二. 填空題(共40分)

      本程序從正文文件text.in讀入一篇英文短文,統(tǒng)計(jì)該短文中不同單詞和它的出現(xiàn)次數(shù),并按詞典編輯順序?qū)卧~及它的出現(xiàn)次數(shù)輸出到正文文件word.out中.

      程序用一棵有序二叉樹存儲(chǔ)這些單詞及其出現(xiàn)的次數(shù),一邊讀入一邊建立.然后中序遍歷該二叉樹,將遍歷經(jīng)過的二叉樹上的節(jié)點(diǎn)的內(nèi)容輸出.

      程序中的外部函數(shù)

      int getword(FILE pFile,char pszWordBuffer,int nBufferLen);

      從與pFile所對(duì)應(yīng)的文件中讀取單詞置入pszWordBuffer,并返回1;若單詞遇文件尾,已無單詞可讀時(shí),則返回0.

      #include

      #include

      #include

      #include

      #define SOURCE_FILE "text.in"

      #define OUTPUT_FILE "word.out"

      #define MAX_WORD_LEN 128

      typedef struct treenode

      {

      char szWord[MAX_WORD_LEN];

      int nCount;

      struct treenode pLeft;

      struct treenode pRight;

      }BNODE;

      int getword(FILE pFile,char pasWordBuffer,int nBufferLen);

      void binary_tree(BNODE ppNode,char pszWord)

      {

      if(ppNode != NULL && pszWord != NULL)

      {

      BNODE pCurrentNode = NULL;

      BNODE pMemoNode = NULL;

      int nStrCmpRes=0;

      ____(1)_____;pCurrentNode=ppNode

      while(pCurrentNode)

      {

      /尋找插入位置/

      nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->nCount

      if(!nStrCmpRes)

      {

      ___(3)___; pCurrentNode->nCount++

      return;

      }

      else

      {

      ___(4)___; pMemoNode=pCurrentNode

      pCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft;

      }

      }

      }

      pCurrent=new BNODE;

      if(pCurrentNode != NULL)

      {

      memset(pCurrentNode,0,sizeof(BNODE));

      strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1);

      pCurrentNode->nCount=1;

      }

      if(pMemoNode==NULL)

      {

      ___(5)___; ppNode= pCurrentNode

      }

      else if(nStrCmpRes>0)

      {

      pMemoNode->pRight=pCurrentNode;

      }

      else

      {

      pMemoNode->pLeft=pCurrentNode;

      }

      }

      void midorder(FILE pFile,BNODE pNode)

      {

      if(___(6)___) return;!pNode||!pFile

      midorder(pFile,pNode->pLeft);

      fprintf(pFile,"%s %d\n",pNode->szWord,pNode->nCount);

      midorder(pFile,pNode->pRight);

      }

      void main()

      {

      FILE pFile=NULL;

      BNODE pRootNode=NULL;

      char szWord[MAX_WORD_LEN]={0};

      pFile=fopen(SOURCE_FILE,"r");

      if(pFile==NULL)

      {

      printf("Can't open file %s\n",SOURCE_FILE);

      return;

      }

      while(getword(pFile,szWord,MAX_WORD_LEN)==1)

      {

      binary_tree(___(7)___);// pRootNode,szWord

      }

      fclose(pFile);

      pFile=fopen(OUTPUT_FILE,"w");

      midorder(pFile,pRootNode);

      fclose(pFile);

      }

      三. 附加題(每題30分,2題,共60分)

      1. 從程序健壯性進(jìn)行分析,下面的FillUserInfo函數(shù)和Main函數(shù)分別存在什么問題?

      #include

      #include

      #define MAX_NAME_LEN 20

      struct USERINFO

      {

      int nAge;

      char szName[MAX_NAME_LEN];

      };

      void FillUserInfo(USERINFO parUserInfo)

      {

      stu::cout<<"請(qǐng)輸入用戶的個(gè)數(shù):";

      int nCount=0;

      std::cin>>nCount;

      for(int i=0;i

      {

      std::cout<<"請(qǐng)輸入年齡:";

      std::cin>>parUserInfo[i]->nAge;

      std::string strName;

      std::cout<<"請(qǐng)輸入姓名:";

      std::cin>>strName;

      strcpy(parUserInfo[i].szName,strName.c_str());

      }

      }

      int main(int argc,char argv[])

      {

      USERINFO arUserInfos[100]={0};

      FillUserInfo(arUserInfos);

      printf("The first name is:");

      printf(arUserInfos[0].szName);

      printf("\n");

      return 0;

      }

      2. 假設(shè)你在編寫一個(gè)使用多線程技術(shù)的程序,當(dāng)程序中止運(yùn)行時(shí),需要怎樣一個(gè)機(jī)制來安全有效的中止所有的線程?請(qǐng)描述其具體流程.

    相關(guān)文章

    最新圖文

    2020年河北新聞網(wǎng)兩學(xué)一做

    時(shí)間:2023-09-18 07:0:24

    2020年河北新聞網(wǎng)兩學(xué)一做

    時(shí)間:2023-09-15 11:0:59

    兩學(xué)一做學(xué)習(xí)教育知

    時(shí)間:2023-09-21 06:0:30

    2020年開展兩學(xué)一做學(xué)習(xí)教

    時(shí)間:2023-09-19 21:0:30
    亚洲欧洲精品一区二区三区| 中国亚洲女人69内射少妇| 久久亚洲精品无码观看不卡| 国产精品亚洲专区无码WEB| 亚洲国产成人资源在线软件| 亚洲人成电影在在线观看网色| 亚洲国产精品无码久久SM| 亚洲精品无码AV人在线播放| 中国亚洲女人69内射少妇| 亚洲综合久久夜AV | 亚洲精品一级无码鲁丝片| 亚洲国产午夜中文字幕精品黄网站 | 亚洲AV乱码久久精品蜜桃| 国产AV无码专区亚洲Av| 亚洲AV无码专区国产乱码电影| 亚洲国产精品特色大片观看完整版| 情人伊人久久综合亚洲| 亚洲AV无码专区在线播放中文| 亚洲av永久无码精品表情包| 亚洲成年人在线观看| 亚洲黄色在线视频| 亚洲人和日本人jizz| 亚洲精品国产精品国自产网站| 亚洲а∨天堂久久精品9966| 亚洲高清一区二区三区| 亚洲精品动漫免费二区| 国产精品亚洲小说专区| 亚洲国产一级在线观看 | 亚洲成AV人片在线观看无码| 亚洲AV无一区二区三区久久| 日产亚洲一区二区三区| 亚洲激情视频在线观看| 亚洲精品中文字幕麻豆| 亚洲va在线va天堂va手机| 久久精品国产亚洲av麻豆蜜芽| 亚洲老熟女五十路老熟女bbw| 亚洲av永久中文无码精品综合| 日本亚洲中午字幕乱码| 亚洲性日韩精品一区二区三区| 中文字幕精品亚洲无线码一区 | 精品国产亚洲一区二区在线观看|