計算機網路三級上機考試題及答案

  計算機網路資訊保安在國民生活中受到越來越多的關注,原因在於:許多重要的資訊儲存在網路上,一旦這些資訊洩露出去將造成無法估量的損失。下面是小編收集整理的,希望對大家有幫助~~

  

  【題目】1:下列程式的功能是:將大於整數m且緊靠m的k個素數存入陣列xx。請編寫函式num***int m,int k,int xx[]***實現函式的要求 ,最後呼叫函式readwriteDAT******把結果輸出到檔案out.dat中。

  例如:若輸入17,5,則應輸出:19,23,29,31,37。

  注意:部分源程式已給出。

  請勿改動主函式main******和函式readwriteDAT******的內容。

  --------------

  型別:素數。

  void num***int m,int k,int xx[]***

  {int data=m+1;

  int half,n=0,I;

  while***1***

  {half=data/2;for***I=2;I<=half;I++***

  if***data%I==0***break;

  if***I>half***

  {xx[n]=data;n++;}

  if***n>=k***break;

  data++;

  } }

  【題目】2:已知資料檔案IN.DAT中存有200個四位數, 並已呼叫讀函式readDat******把這些數存入陣列a中,請考生編制一函式jsVal******,其功能是: 如果四位數各位上的數字均是0或2或4或6或8, 則統計出滿足此條件的個數cnt, 並把這些四位數按從大到小的順序存入陣列b中。最後main******函式呼叫寫函式writeDat*** ***把結果cnt以及陣列b中符合條件的四位數輸出到OUT.DAT檔案中。

  注意: 部分源程式存在檔案PROG1.C檔案中。

  程式中已定義陣列: a[200], b[200], 已定義變數: cnt

  請勿改動資料檔案IN.DAT中的任何資料、主函式main******、讀函式readDat******和寫函式writeDat******的內容。

  -------------------------

  void jsVal******

  {int bb[4];

  int I,j,k,flag;

  for ***I=0;I<200;I++***

  {bb[0]=a[I]/1000; bb[1]=a[I]00/100;

  bb[2]=a[I]0/10; bb[3]=a[I];

  for ***j=0;j<4;j++***

  {if ***bb[j]%2==0***

  flag=1;

  else

  {flag=0;break;}

  }

  if ***flag==1***

  { b[cnt]=a[I];

  cnt++;} }

  for***I=0;I

  for***j=I+1;j

  if ***b[I]

  {k=b[I];b[I]=b[j];b[j]=k;}

  }

  【題目】3:函式READDAT******實現從檔案IN.DAT中讀取一篇英文文章存入到字串陣列XX中;請編制函式STROR******,其函式功能是:以行為單位把字串中的所有小寫字母O左邊的字串內容移到該串的右邊存放,然後並把小寫字母O刪除,餘下的字串內容移到已處理字串的左邊存放.最後把已處理的字串仍按行重新存入字串陣列XX中,最後呼叫函式WRITEDAT******把結果XX輸出到檔案OUT.DAT中.

  例如:原文:You can create an index on any field.

  you have the correct record.

  結果: n any field.You can create an index

  rd.yu have the crrect rec

  原始資料檔案存放的格式是:每行的寬度均小於80個字元,含標點符號和空格.

  -------------------

  型別:字串***單詞***的倒置和刪除。

  答案:

  void StrOR***void***

  {int I,j,k,index,strl;

  char ch;

  for***I=0;I

  {strl=strlen***xx[I]***;

  index=strl;

  for***j=0;j

  if***xx[I][j]=='o'***

  {for***k=j;k

  xx[I][k]=xx[I][k+1];

  xx[I][strl-1]= ' ';

  index=j;}

  for***j=strl-1;j>=index;j--***

  {ch=xx[I][strl-1];

  for***k=strl-1;k>0;k--***

  xx[I][k]=xx[I][k-1];

  xx[I][0]=ch;}

  }

  }

  【題目】4:函式ReadDat*** ***實現從檔案IN.DAT中讀取一篇英文文章存入到字串陣列xx中; 請編制函式StrOL*** ***, 其函式的功能是: 以行為單位對行中以空格或標點符號為分隔的所有單詞進行倒排,同時去

  除標點符號,之後把已處理的字串***應不含標點符號***仍按行重新存入字串陣列xx中。最後main******函式呼叫函式WriteDat******把結果xx輸出到檔案OUT6.DAT中。

  例如: 原文: You He Me

  I am a student.

  結果: Me He You

  student a am I

  原始資料檔案存放的格式是: 每行的寬度均小於80個字元, 含標點符號和空格。

  -----------------

  型別:字串***單詞***的倒置和刪除2016年2016年。

  答案:

  void StrOL***void***

  {int I,j,k,strl,l;char c;

  for***I=0;I

  for***j=0;j

  {c=xx[I][j];

  if ******c>='A'&&c<='Z'***||***c>='a'&&c<='z'***||c==' '*** ;

  else xx[I][j]=' '; }

  for***l=0;l

  {char ch[80]={0}; char pp[80]={0};

  strl=strlen***xx[l]***;

  I=strl-1; k=1;

  while***1***

  {while *********xx[l][I]>='a'&&xx[l][I]<='z'***||***xx[l][I]>='A'&&xx[l][I]<='z'******&&I>=0***

  {for***j=k;j>=0;j--***

  pp[j+1]=pp[j]; pp[0]=xx[l][I]; k++;I--; }

  strcat***ch,pp***;strcpy***pp, """"***;k=1;

  if***I==-1***break;

  while******xx[l][I]<'A'||xx[l][I]>'z'***&&I>=0***

  {for***j=k;j>=0;j--***

  pp[j+1]=pp[j]; pp[0]=xx[l][I]; k++; I--;}

  strcat***ch,pp***; strcpy***pp,""""***;

  k=0;

  if***I==-1***break;}

  strcpy***xx[l],ch***;

  }}

  【題目】5:在檔案in.dat中有200個正整數,且每個數均在1000至9999之間。函式ReadDat******讀取這200個數存放到陣列aa中。請編制函式jsSort******,其函式的功能是:要求按每個數的後三位的大小進行升序排列,然後取出滿足此條件的前10個數依次存入陣列b中,如果後三位的數值相等,則按原先的數值進行降序排列。最後呼叫函式WriteDat******把結果bb輸出到檔案out.dat中。

  例:處理前 6012 5099 9012 7025 8088

  處理後 9012 6012 7025 8088 5099

  注意:部分源程式已給出。

  請勿改動主函式main******、讀資料函式ReadDat******和輸出資料函式WriteDat******的內容。

  --------------------

  void jsSort******

  {int I,j,data;

  for***I=0;I<199;I++***

  for***j=I+1;j<200;j++***

  {if ***aa[I]00>aa[j]00***

  {data=aa[I];aa[I]=aa[j];aa[j]=data;}

  else if***aa[I]00==aa[j]00***

  if***aa[I]

  {data=aa[I];aa[I]=aa[j];aa[j]=data;}

  }

  for***I=0;I<10;I++***

  bb[I]=aa[I];

  }

  【題目】6:在檔案in.dat中有200個正整數,且每個數均在1000至9999之間。函式ReadDat******讀取這200個數存放到陣列aa中2016年文章2016年出自

  例:處理前 9012 5099 6012 7025 8088

  處理後 5099 8088 7025 6012 9012

  注意:部分源程式已給出。

  請勿改動主函式main******、讀資料函式ReadDat******和輸出資料函式WriteDat******的內容。

  --------------------

  void jsSort******

  {int I,j,data;

  for***I=0;I<199;I++***

  for***j=I+1;j<200;j++***

  {if ***aa[I]00

  {data=aa[I];aa[I]=aa[j];aa[j]=data;}

  else if***aa[I]00==aa[j]00***

  if***aa[I]>aa[j]***

  {data=aa[I];aa[I]=aa[j];aa[j]=data;}

  }

  for***I=0;I<10;I++***

  bb[I]=aa[I];

  }

  【題目】7:已知在檔案IN.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品程式碼dm***字元型4位***,產品名稱mc***字元型10位***,單價dj***整型***,數量sl***整型***,金額je***長整型***四部分組成。其中:金額=單價*數量計算得出。函式ReadDat******是讀取這100個銷售記錄並存入結構陣列sell中。請編制函式SortDat******,其功能要求:按產品程式碼從大到小進行排列,若產品程式碼相同,則按金額從大到小進行排列,最終排列結果仍存入結構陣列sell中,最後呼叫函式WriteDat******把結果輸出到檔案OUT10.DAT中。

  注意: 部分源程式存放在PROG1.C中。

  請勿改動主函式main*** ***、讀資料函式ReadDat******和輸出資料函式WriteDat******的內容。

  ----------------------------------

  void SortDat******

  {int I,j;

  PRO xy;

  for***I=0;I<99;I++***

  for***j=I+1;j<100;j++***

  if***strcmp***sell[I].dm,sell[j].dm***<0***

  {xy=sell[I];sell[I]=sell[j];sell[j]=xy;}

  else if***strcmp***sell[I].dm,sell[j].dm***==0***

  if***sell[I].je

  {xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;}

  }

  【題目】8:函式ReadDat******實現從檔案ENG.IN中讀取一篇英文文章,存入到字串陣列xx中;請編制函式encryptChar******,按給定的替代關係對陣列xx中的所有字元進行替代,仍存入陣列xx的對應的位置上,最後呼叫函式WriteDat******把結果xx輸出到檔案PS1.DAT中。

  替代關係:f***p***=p*11 mod 256 ***p是陣列中某一個字元的ASCII值,f***p***是計算後新字元的ASCII值***,如果計算後f***p***值小於等於32或大於130,則該字元不變,否則將f***p***所對應的字元進行替代。

  注意:部分源程式已給出。原始資料檔案存放的格式是:每行的寬度均小於80個字元2016年計算機考試。

  請勿改動主函式main******、讀資料函式ReadDat******和輸出資料函式WriteDat******的內容。

  ------------------------------

  void encryptChar******

  {int I;

  char *pf;

  for***I=0;I

  {pf=xx[I];

  while****pf!=0***

  {if****pf*11%6>130||*pf*11%6<=32***;

  else

  *pf=*pf*11%6;

  pf++; }

  }

  }

  【題目】9:函式ReadDat*** ***實現從檔案IN.DAT中讀取一篇英文文章存入到字串陣列xx中; 請編制函式SortCharD*** ***, 其函式的功能是: 以行為單位對字元按從大到小的順序進行排序, 排序後的結果仍按行重新存入字串陣列xx中

  最後main******函式呼叫函式WriteDat******把結果xx輸出到檔案OUT2.DAT中。

  例: 原文: dAe,BfC.

  CCbbAA

  結果: fedCBA.,

  bbCCAA

  原始資料檔案存放的格式是: 每行的寬度均小於80個字元, 含標點符號和空格。

  注意: 部分源程式存放在PROG1.C中。

  請勿改動主函式main*** ***、讀資料函式ReadDat******和輸出資料函式WriteDat******的內容。

  -----------------

  型別:字串***單詞***的倒置和刪除。

  答案:

  void SortCharD***void***

  {int I,j,k,strl;

  char ch;

  for***I=0;I

  {strl=strlen***xx[I]***;