當前位置:才華齋>計算機>計算機三級>

計算機等級考試三級網路技術模擬試題及答案

計算機三級 閱讀(2.01W)

為了幫助同學們更好複習計算機三級的考試,小編特地為大家整理了計算機三級網路技術的模擬試題,希望能幫助大家!

計算機等級考試三級網路技術模擬試題及答案

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

void SortDat()

{int I,j;

PRO xy;

for(I=0;I<99;I++)

for(j=I+1;j<100;j++)

if(sell[I]

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

else if(sell[I]==sell[j])

if(strcmp(sell[I],sell[j])<0)

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

}

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

void SortDat()

{int I,j;

PRO xy;

for(I=0;I

for(j=I+1;j

if(strcmp(sell[I],sell[j])<0)

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

else if(strcmp(sell[I],sell[j])==0)

if(sell[I]>sell[j])

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

}

題目3:請編制函式ReadDat()實現從檔案中讀取1000個十進位制整數到陣列xx中;請編制函式Compute()分別計算出xx中奇數的個數odd,奇數的平均值ave1,偶數的平均值ave2以及所有奇數的方差totfc的值,最後呼叫函式WriteDat()把結果輸出到檔案中。計算方差的公式如下:totfc=1/N∑(xx[i]-ave1)2

int ReadDat(void)

{FILE *fp;

int I,j;

if((fp=fopen("""",""r""))==NULL) return 1;

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

{for(j=0;j<10;j++)

fscanf(fp, ""%d,"", &xx[I*10+j]);

fscanf(fp, ""'n"");

if(feof(fp)) break;}

fclose(fp);

return 0;}

void Compute(void)

{int I, yy[MAX];

for(I=0;I<1000;I++)

if(xx[I]%2){odd++;ave1+=xx[I]; }

else{even++;ave2+=xx[I]; yy[even-1]=xx[I];}

ave1/=odd;

ave2/=even;

for(I=0;I

totfc+=(yy[I]-ave2)*(yy[I]-ave2)/even;

}

}

題目4:下列程式的功能是:選取出100以上1000以內所有個位數字與十位數字之和被10除所得餘數恰是百位數字的素數(如293)。計算並輸出上述這些素數的個數CNT以及這些素數值的和SUM。請編寫函式COUNTvalue()實現程式要求,最後呼叫函式WRITEDAT()把結果CNT和SUM輸出到檔案中.

void countValue()

{int I,j,half,hun,ten,data;

for(I=101;I<1000;I++)

{hun=I/100;

ten=I%100/10;

data=I%10;

if(hun==(ten+data)%10)

{half=I/2;

for(j=2;j

if(I%j==0) break;

if(j>=half)

{cnt++;sum+=I;} } }

}

題目5:某級數的前兩項A1=1,A2=1,以後各項具有如下關係:An=An-2+2An-1.

下列程式的功能是:要求依次對於整數M=100,1000和10000求出對應的n值,使其滿足:Sn=M,這裡Sn=A1+A2+...+An,

並依次把n值存入陣列單元b[0],b[1]和b[2]中,請編制jsvalue()函式來實現此功能, 最後呼叫函式writeDat()把陣列b[]中的值輸出到檔案中。

void jsvalue()

{int a1=1,a2=1,n=1,an;

int sum0,sum;

sum0=a1+a2;

while(1)

{an=a1+a2*2;

sum=sum0+an;

a1=a2; a2=an; n++;

if (sum0<100&&sum>100) b[0]=n;

if (sum0<1000&&sum>1000) b[1]=n;

if (sum0<10000&&sum>10000) {b[2]=n; break;}

sum0=sum;

}

}

jsvalue()

{int a1=1,a2=1,a12,sn,k=2;

sn=a1+a2;

while(1)

{a12=a1+2*a2;

if(sn<100&&sn+a12>=100) b[0]=k;

if(sn<1000&&sn+a12>=1000) b[1]=k;

if(sn<10000&&sn+a12>=10000) {b[2]=k;break;}

sn=sn+a12;

a1=a2;a2=a12;

k++;

}

}

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

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

void encryptChar()

{int I;

char *pf;

for(I=0;I

{pf=xx[I];

while(*pf!=0)

{if((*pf*11%256>='0'&&*pf*11%256<='9')||*pf*11%256<=32)

{pf++;continue;}

*pf=*pf*11%256;

pf++;} }

}

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

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

void encryptChar()

{int I;

char *pf;

for(I=0;I

{pf=xx[I];

while(*pf!=0)

{ if ((*pf>='A'&&*pf<='Z')||*pf*11%256<=32)

{pf++;continue;}

*pf=*pf*11%256;

pf++;} }

}

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

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

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

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

void SortDat()

{int I,j;

PRO xy;

for(I=0;I

for(j=I+1;j

if(strcmp(sell[I],sell[j])>0)

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

else if(strcmp(sell[I],sell[j])==0)

if(sell[I]>sell[j])

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

}

{FILE *fp;

int i;

fp=fopen("","w");

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

fprintf(fp,"%s %s %4d %5d %101dn", sell[i],sell[i],sell[i],sell[i],sell[i]);}

fclose(fp);}

題目9:對10個候選人進行選舉,現有一個100條記錄的選票資料檔案,其資料存放的格式是每條記錄的長度均為10位,第一位表示第一個人的選中情況,第二位表示第二個人的選中情況,依此類推 :內容均為字元0和1,1表示此人被選中,0表示此人未被選中,全選或不選均為無效的選票.。給定函式ReadDat()的功能是把選票資料讀入到字串陣列xx中。請編制函式CountRs()來統計每個人的選票數並把得票數依次存入yy[0]到yy[9]中。把結果yy輸出到檔案中。

void CountRs(void)

{int I,j=0,k=0;

char *str;

for(I=0;I<10;I++)

yy[I]=0;

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

{str=xx[I];j=0;

while(*str)

if(*str=='1'){j++;str++;}

else str++;

if(j!=0&&j!=10)

{str=xx[I];k=0;

while(*str)

if(*str++=='1') yy[k++]+=1;

else k++;}

}

}

題目10:已知在檔案中存有若干個(個數<200)四位數字的正整數,函式readdat()讀取這若干個正整數並存入陣列xx中。請編制函式calvalue(),其功能要求:1、求出這檔案C.P有多少個正整數totnum;2、求出這些數中的各位數字之和是偶數的數的個數totcnt,以及滿足此條件的這些數的算術平均值totpjz,最後呼叫函式writedat()把所求的結果輸出到檔案中。

void CalValue(void)

{int I,thou,hun,ten,data;

int ab,sum=0;

for(I=0;I

{if(xx[I]>0) totNum++;

{thou=xx[I]/1000;

hun=xx[I]%1000/100;

ten=xx[I]%100/10;

data=xx[I]%10;

ab=thou+hun+ten+data;

if (ab%2==0)

{totCnt++;sum=sum+xx[I];}

}}

totPjz=sum/totCnt;

}