國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷16(共9題)_第1頁
國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷16(共9題)_第2頁
國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷16(共9題)_第3頁
國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷16(共9題)_第4頁
國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷16(共9題)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷16(共9套)(共9題)國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第1套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請編寫函數(shù)countValue(),它的功能是:求n以內(nèi)(不包括n)同時(shí)能被3與7整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回,最后結(jié)果s輸出到文件OUT11.DAT中。例如,若n為1000時(shí),函數(shù)值應(yīng)為s=153.909064。注意:部分源程序已給出。請勿改動(dòng)主函數(shù)main()和輸入輸出函數(shù)progReadWrite()的內(nèi)容。試題程序:#include<conio.h>#include<math.h>#include<stdio.h>doublecountValue(intn){}main(){clrscr();printf("自然數(shù)之和的平方根=%f\n",countValue(1000));progReadWrite();}progReadWrite(){FILE*wf;inti,n;floats;wf=fopen("OUTll.DAT","w");s=countValue(1000);fprintf(wf,"%f\n",s);fclose(wf);}標(biāo)準(zhǔn)答案:doublecountValue(intn){doublexy=0.0;inti;for(i=1;i<n;i++)if(i%3==0&&i%7==0)xy+=i;/*求n以內(nèi)(不包括n)同時(shí)能被3與7整除的所有自然數(shù)之和*/xy=sqrt((double)xy);/*再對總和求平方根*/returnxy;}知識(shí)點(diǎn)解析:本題的解題思路是:利用一個(gè)for循環(huán)依次從n個(gè)自然數(shù)當(dāng)中取數(shù),對當(dāng)前取出的數(shù)進(jìn)行條件判斷。判斷條件為:既能被3整除同時(shí)也能被7整除,因此,用“&&”運(yùn)算符來連接兩個(gè)條件表達(dá)式,當(dāng)某數(shù)滿足判斷條件時(shí),就把該數(shù)累加到變量xy中(xy的初始值為0.0),當(dāng)所有滿足條件的數(shù)都被找完后,對累加求得的變量xy的值進(jìn)行求平方根的計(jì)算,并把所求得的結(jié)果作為函數(shù)值返回。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第2套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有200個(gè)四位整型數(shù),函數(shù)ReadData()負(fù)責(zé)將IN.DAT中的數(shù)讀到數(shù)組inBuf[]中。請編寫函數(shù)findValue(),其功能是;求出滿足千位數(shù)上的值減百位數(shù)上的值減十位數(shù)上的值減個(gè)位數(shù)上的值大于零且此四位數(shù)是奇數(shù)的數(shù),并按照從小到大的順序存人數(shù)組outBuf[]中,并用count記錄下符合條件的數(shù)的個(gè)數(shù)。函數(shù)WriteData()負(fù)責(zé)將outBuf[]中的數(shù)輸出到文件OUT.DAT中并且在屏幕上顯示出來。注意;部分源程序已給出。程序中已定義數(shù)組;inBuf[NUM],outBuf[NUM],已定義變量;count。請勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadData()和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include#defineNUM200intinBuf[NUM],outBuf[NUM],count=0;voidReadData();voidWriteData();voidfindValue(){}voidmain(){inti;ReadData();findValue();WriteData();printf("count=%d\n",count);for(i=0;i標(biāo)準(zhǔn)答案:voidfindValue(){inti,j,k,d[4],temp,flag;for(i=0;i%NUM;i++){for(j=0;j<4;j++){temp=inBuf[i];//將要進(jìn)行分解的數(shù)據(jù)存入temp中for(k=0;k0&&d[3]%2!=0){outBuf[count]=inBuf[i];count++;}}for(i=0;ioutBuf[j])/*如果第i位比它后面的數(shù)大則將兩者進(jìn)行交換,也即將更小的值放到第i位*/{temp=outBuf[i];outBuf[i]=outBuf[j];outBuf[j]=temp;}}知識(shí)點(diǎn)解析:本題主要考查數(shù)位分解及排序。數(shù)位分解就是將n位數(shù)上各個(gè)數(shù)位上的數(shù)值單獨(dú)分離出來。解決此問題的方法是;將n位數(shù)對10求余可以將個(gè)位上的數(shù)值分離出來。將這個(gè)n位數(shù)除以10以后得到一個(gè)n-1位數(shù),則此時(shí)n位數(shù)原來的十位就變成了n-1位數(shù)的個(gè)位,再將此n-1位數(shù)對10求余便可得到原n位數(shù)的十位。依此類推,按照同樣的方法便可將n位數(shù)各個(gè)數(shù)位上的數(shù)值分離出來。程序步驟;1.將數(shù)值送入temp中。2.由temp%10得到個(gè)位數(shù);(temp/10)%10得到十位數(shù)……如此可得到各位上的數(shù)值。3.按照題目所給的條件選出數(shù)據(jù)。4.對選出的數(shù)據(jù)進(jìn)行排序,排序的思想是(以從小到大為例);將當(dāng)前數(shù)據(jù)與其后的各個(gè)數(shù)據(jù)相比較,如果當(dāng)前的數(shù)據(jù)比其后的數(shù)據(jù)大,則將兩數(shù)據(jù)進(jìn)行交換,從而使得前面的數(shù)據(jù)小于后面的數(shù)據(jù),達(dá)到從小到大排序的目的。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第3套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有300個(gè)四位整型數(shù),函數(shù)ReadData()負(fù)責(zé)將IN.DAT中的數(shù)讀到數(shù)組inBuf[]中。請編寫函數(shù)findValue(),其功能是;求出千位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(shù)count,再求出所有滿足此條件的四位數(shù)平均值averagel,以及所有不滿足此條件的四位數(shù)平均值average2,最后調(diào)用函數(shù)WriteData()把結(jié)果count、averagel、average2輸出到OUT.DAT文件中。注意;部分源程序已給出。程序中已定義數(shù)組;inBuf[NUM],已定義變量;count,averagel,average2。請勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadData()和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include#defineNUM300intinBuf[NUM],count=0;doubleaverage1=0,average2=0;voidReadData();voidWriteData();voidfindValue(){}voidmain(){ReadData();findValue();WriteData();printf("count=%d\naverag1=%7.21f\naverag2=%7.21f\n",count,average1,average2);}voidReadData(){FILE*fp;inti;fp=fopen("IN.DAT","r");for(i=0;i標(biāo)準(zhǔn)答案:voidfindValue(){inti,j,k,d[4],temp,count_no=0;for(i=0;i知識(shí)點(diǎn)解析:本題主要考查數(shù)位分解及數(shù)據(jù)平均值的求法。程序步驟;1.將數(shù)值送入temp中。2.?dāng)?shù)位分解;由temp%10得到個(gè)位數(shù);(temp/10)%10得到十位數(shù)……如此可得到各位上的數(shù)值。3.按照題目所給的條件選出數(shù)據(jù)。4.對選出的數(shù)據(jù)求平均值;由于本題中的數(shù)據(jù)量比較大,若采用先將各個(gè)值加起來再除以總個(gè)數(shù)來取平均的話,變量不能存儲(chǔ)那么大的數(shù)據(jù)而導(dǎo)致溢出。本題的程序采用的方法是;N個(gè)數(shù)的平均值=[前(N-1)個(gè)數(shù)的平均值*(N-1)+第N個(gè)數(shù)]/N,采用這種遞推的方法就避免了將大的數(shù)據(jù)存入變量中而產(chǎn)生溢出。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第4套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、對10個(gè)候選人進(jìn)行選舉,現(xiàn)有一個(gè)100條記錄的選票文件IN84.DAT,其數(shù)據(jù)存放格式是每條記錄的長度均為10位,第一位表示第一個(gè)人的選中情況,第二位表示第二個(gè)人的選中情況,依此類推。每一位候選人的記錄內(nèi)容均為字符0或1,1表示此人被選中,0表示此人未被選十,若一張選票選中人數(shù)大于5個(gè)人時(shí)被認(rèn)為無效的選票。給定函數(shù)ReadDat()的功能是把選票數(shù)據(jù)讀入到字符串?dāng)?shù)組xx中。請編制函數(shù)CoutRs()來統(tǒng)計(jì)每個(gè)人的選票數(shù)并把得票數(shù)依次存入yy[0]到y(tǒng)y[9]中,最后調(diào)用函數(shù)WriteDat()把結(jié)果yy輸出到文件OUT84.DAT中。注意:部分源程序已給出。請勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容。試題程序:#include<stdio.h>charxx[100][11];intyy[10];intReadDat(void);voidWriteDat(void);voidCoutRs(void){}voidmain(){inti;for(i=0;i<10;i++)yy[i]=0;if(ReadDat()){printf("數(shù)據(jù)文件IN84.DAT不能打開!\n\007");return;}CoutRs();WriteDat();}intReadDat(void){FILE*fp;inti;chartt[13];if((fp=fopen("IN84.DAT","r"))==NULL)return1;for(i=0;i<lO0;i++){if(fgets(tt,13,fp)==NULL)return1;memcpy(xx[i],tt,10);xx[i][10]=0;}fclose(fp);return0;}voidWriteDat(){FILE*fp;inti;fp=fopen("OUT84.DAT","w");for(i=0;i<10;i++){fprintf(fp,"%d\n",yy[i]);printf("第%d個(gè)人的選票數(shù)=%d\n",i+1,yy[i]);}fclose(fp);}標(biāo)準(zhǔn)答案:voidCoutRs(void){inti,count,j;char*pf;for(i=0;i<l0;i++)yy[i]=0;for(i=0;i<l00;i++){pf=xx[i];/*指針pf指向字符串的第一個(gè)字符*/count=0;while(*pf)if(*pf==’1’){count++;/*統(tǒng)計(jì)每條記錄中1的個(gè)數(shù)*/pf++;}elsepf++;if(count<=5)/*如果每條記錄中1的個(gè)數(shù)小于等于5則為有效票*/{pf=xx[i];/*指針pf指向字符串的第一個(gè)字符*/j=0;while(*pf)/*統(tǒng)計(jì)每個(gè)人的選票數(shù)并把得票數(shù)依次存入yy[0]到y(tǒng)y[9]中*/if(*pf==’1’){yy[j]+=l;j++;pf++;}elseif(*pf==’0’){j++;pf++;}}}}知識(shí)點(diǎn)解析:本題考查的知識(shí)點(diǎn)如下:(1)二維數(shù)組的操作。(2)指向數(shù)組的指針。在本題中,要先判斷選票是否有效。因?yàn)橛涗洿娣旁谝粋€(gè)二維數(shù)組中,為了簡便我們?yōu)閿?shù)組的—組元素定義一個(gè)指向該數(shù)組每一行數(shù)據(jù)的指針,例如,char*P=xx[2]。初始時(shí)該指針指向該行的第一個(gè)元素,指針地址每加1,則指向下一個(gè)元素。這樣就可以輕松地統(tǒng)計(jì)每一個(gè)選票。設(shè)一變量標(biāo)記每一個(gè)選票中1的個(gè)數(shù),若其不大于5,則選票有效。若選票有效,則依次查看哪一個(gè)元素為1,在數(shù)組yy相應(yīng)的元素上加l。使用循環(huán)實(shí)現(xiàn)對所有記錄的訪問。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第5套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:①定義整型循環(huán)變量i、.j。②在第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于maxline,實(shí)現(xiàn)對文章每行的處理。第二層for循環(huán)中,循環(huán)變量j從0開始,依次遞增直到其值大于或等于strlen(xx[i]),在循環(huán)體中,利用if條件語句判斷如果xx[i]D]的值為字符’a’,則把xx[i]嘲的值設(shè)置為字符’z’。否則如果xx[i][j]的值在小寫字符’a’與’z’之間,則把xx[i][j]的值減1,把其值變成其前一個(gè)字符的ASCII碼。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第6套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:根據(jù)題意,本程序中要統(tǒng)計(jì)每條記錄中的有效票數(shù),因此需要先判斷該記錄是否有效,然后再對有效的記錄做進(jìn)一步處理,即統(tǒng)計(jì)每個(gè)人的得票情況。①首先定義兩個(gè)循環(huán)變量i、j和一個(gè)計(jì)數(shù)變量cnt。②指定第一個(gè)for循環(huán)的循環(huán)條件,循環(huán)變量i從0開始,等于100時(shí)結(jié)束,每循環(huán)一次,變量i的值加1。③在for循環(huán)中,從第一條記錄開始,每執(zhí)行一次循環(huán)則處理一條記錄是否滿足要求。for循環(huán)語句執(zhí)行流程大致如下:先將計(jì)數(shù)變量cnt賦值0(每執(zhí)行一次循環(huán)時(shí),都將重新賦初值0);然后通過一個(gè)for循環(huán)判斷當(dāng)前記錄的10個(gè)數(shù)字是否為1,每次判斷1個(gè)數(shù)字,如果數(shù)字等于1,則計(jì)數(shù)變量cnt的值加1,當(dāng)?shù)诙€(gè)for循環(huán)執(zhí)行完畢后,如果計(jì)數(shù)變量cm的值小于等于5,則再通過一個(gè)for循環(huán)重新判斷哪些位置上的數(shù)等于1,并將相應(yīng)位置上的數(shù)值累加1。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第7套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:①定義整型循環(huán)變量i、j、k和局部整型變量value,hum。②在第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于10,結(jié)束循環(huán),實(shí)現(xiàn)對數(shù)組a[10][9]中每一行數(shù)據(jù)按照題目的要求進(jìn)行處理。在循環(huán)體中,把第i行的第一個(gè)數(shù)a[i][0]賦給value。在第二層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于或大于9,用if語句判斷,如果數(shù)組元素a[i][j]的值小于value,則把a(bǔ)[i][j]的值賦給num,在第三層for循環(huán)中,循環(huán)變量k從j開始,依次遞減直到其值等于或小于0,把a(bǔ)[i][k-1]的值賦給a[i][k],實(shí)現(xiàn)把a(bǔ)[i][j]前面的值向后移動(dòng)一位,退出第三層for循環(huán)后,把num的值賦給a[i][0]。第二層循環(huán)依次執(zhí)行,便實(shí)現(xiàn)了對i行的數(shù)據(jù)的處理,再依次執(zhí)行第一層for循環(huán),就可以完成對數(shù)組a[10][9]的每行數(shù)據(jù)的處理。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第8套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:①首先定義兩個(gè)循環(huán)整型變量i、j和一個(gè)用于數(shù)據(jù)交換的整型變量ab。②然后在for循環(huán)語句中,先指定循環(huán)變量i從0開始,依次遞增到MAX-5(到MAX-5的原因是因?yàn)閺牡箶?shù)第5個(gè)數(shù)開始,其后面的數(shù)都不滿5個(gè)數(shù),與題目要求不符,因此可以省略最后5個(gè)數(shù)),接著對每個(gè)數(shù)組元素a[i]判斷其是否為偶數(shù)且小于其后面連續(xù)的5個(gè)數(shù),然后把滿足此條件的數(shù)組元素a[i]賦給數(shù)組元素b[cnt],同時(shí)數(shù)組的下標(biāo)變量cnt加1。③最后,用雙重for循環(huán)語句對數(shù)組b中的數(shù)組元素兩兩比較大小,如果前一個(gè)數(shù)組元素大于后一個(gè)數(shù)組元素,則兩者進(jìn)行互換,實(shí)現(xiàn)對數(shù)組b進(jìn)行升序或降序的排列。國家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第9套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、請編寫函數(shù)countValue()其功能是;計(jì)算出自然數(shù)SIX和NINE,他們滿足的條件是SIX+SIX+SIX=NINE+NINE+NINE的個(gè)數(shù),以及滿足此條件的所有SIX與NINE的和sum。最后調(diào)用函數(shù)WriteData()把結(jié)果count和sum輸出到文件OUT.DAT中。其中,S,I,X,N,E各代表一個(gè)十進(jìn)制數(shù)。注意;部分源程序已給出。請勿改動(dòng)主函數(shù)main()和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論