欧美在线观看www-欧美在线观看高清一二三区-欧美在线观看网站-欧美在线观看网址-国产高清在线精品免费-国产高清在线精品一区二区

當前位置:高考升學網 > 招聘筆試題 > 正文

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

更新:2023-09-19 04:06:07 高考升學網

二. 填空題(共40分)

  本程序從正文文件text.in讀入一篇英文短文,統計該短文中不同單詞和它的出現次數,并按詞典編輯順序將單詞及它的出現次數輸出到正文文件word.out中.

  程序用一棵有序二叉樹存儲這些單詞及其出現的次數,一邊讀入一邊建立.然后中序遍歷該二叉樹,將遍歷經過的二叉樹上的節點的內容輸出.

  程序中的外部函數

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

  從與pFile所對應的文件中讀取單詞置入pszWordBuffer,并返回1;若單詞遇文件尾,已無單詞可讀時,則返回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. 從程序健壯性進行分析,下面的FillUserInfo函數和Main函數分別存在什么問題?

  #include

  #include

  #define MAX_NAME_LEN 20

  struct USERINFO

  {

  int nAge;

  char szName[MAX_NAME_LEN];

  };

  void FillUserInfo(USERINFO parUserInfo)

  {

  stu::cout<<"請輸入用戶的個數:";

  int nCount=0;

  std::cin>>nCount;

  for(int i=0;i

  {

  std::cout<<"請輸入年齡:";

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

  std::string strName;

  std::cout<<"請輸入姓名:";

  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. 假設你在編寫一個使用多線程技術的程序,當程序中止運行時,需要怎樣一個機制來安全有效的中止所有的線程?請描述其具體流程.

最新圖文

2020年河北新聞網兩學一做

時間:2023-09-18 07:0:24

2020年河北新聞網兩學一做

時間:2023-09-15 11:0:59

兩學一做學習教育知

時間:2023-09-21 06:0:30

2020年開展兩學一做學習教

時間:2023-09-19 21:0:30
主站蜘蛛池模板: 成人亚洲天堂 | 精品日韩在线视频 | 欧美久久久久久久一区二区三区 | 日本亚洲成高清一区二区三区 | 成人午夜视频在线播放 | 色综合五月天 | 在线看欧美三级中文经典 | 欧美曰逼视频 | 大乳欲妇三级一区二区三区 | 日韩污网站 | 国产片一级毛片视频 | 在线97| 日韩在线视精品在亚洲 | 精品免费tv久久久久久久 | 久久国产精品成人免费 | 国产a免费观看 | 99福利网| 天天插一插| 免费看黄的网页 | 日本精品一区二区三本中文 | 女人十八毛片免费特黄 | 自拍1区 | 欧美亚洲国产成人综合在线 | 99热成人 | 日韩精品免费一级视频 | 艹逼网| 亚洲an天堂an在线观看 | 青青青视频精品中文字幕 | www.久久精品视频 | 欧美天堂在线观看 | avtt香蕉 | 99精品国产自产在线观看 | 日韩福利在线 | 成人禁在线观看午夜亚洲 | 轮流操| 国产对白精品刺激一区二区 | 欧美日韩一区二区三区免费 | 国产一级黄色大片 | 91热视频在线 | 亚洲色图.com | 侠盗高飞免费完整版国语在线播放 |