計算機網路三級上機考試題及答案
計算機網路資訊保安在國民生活中受到越來越多的關注,原因在於:許多重要的資訊儲存在網路上,一旦這些資訊洩露出去將造成無法估量的損失。下面是小編收集整理的,希望對大家有幫助~~
【題目】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]***;