國家三級(網(wǎng)絡技術)機試模擬試卷20(共9題)_第1頁
國家三級(網(wǎng)絡技術)機試模擬試卷20(共9題)_第2頁
國家三級(網(wǎng)絡技術)機試模擬試卷20(共9題)_第3頁
國家三級(網(wǎng)絡技術)機試模擬試卷20(共9題)_第4頁
國家三級(網(wǎng)絡技術)機試模擬試卷20(共9題)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

國家三級(網(wǎng)絡技術)機試模擬試卷20(共9套)(共9題)國家三級(網(wǎng)絡技術)機試模擬試卷第1套一、程序設計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:①定義循環(huán)變量i,字符變量first和字符指針變量p,并使p指向字符串s。②把字符串s的第一個字符賦給first變量保存起來。③在for循環(huán)語句中,循環(huán)變量i從0開始,依次遞增直到其值等于或大于(int)strlen(s)-1,把*(p+i+1)的值賦給+(p+i),實現(xiàn)把字符串s中的所有字符左移一個位置,循環(huán)結(jié)束后,把first的值賦給p[strlcn(s)-1],即把字符串的首字符移動到字符串的最后位置上。國家三級(網(wǎng)絡技術)機試模擬試卷第2套一、程序設計題(本題共1題,每題1.0分,共1分。)1、補充函數(shù),要求實現(xiàn)如下功能;尋找并輸出11~999之間的數(shù)m,它滿足m、m2、m3均為回文數(shù)(回文數(shù)是指各位數(shù)字左右對稱的整數(shù)),例如;12321,505,1458541等。滿足上述條件的數(shù)如m=11時,m2=121,m3=1331都是回文數(shù)。請編寫jsValue(longm)實現(xiàn)此功能。如果是回文數(shù),則函數(shù)返回1,不是則返回0。最后,把結(jié)果輸出到文件OUT.DAT中。注意;部分源程序已經(jīng)給出。請勿改動主函數(shù)main()中的內(nèi)容。試題程序;#include#include#includeintjsValue(longm){}main(){longm;FILE*out;out=fopen("OUT.DAT","w");for(m=11;m<1000;m++)if(jsValue(m)&&jsValue(m*m)&&jsValue(m*m*m)){printf("m=%41d,m*m=%61d,m*m*m=%8ld\n",m,m*m,m*m*m);fprintf(out,"m=%41d,m*m=%61d,m*m*m=%81d\n",m,m*m,m*m*m);}fclose(out);}標準答案:intjsVlue(longm){inti,str;half;chartemp[20];ltoa(m,temp,10);str=strlen(temp);half=str/2;for(i=0;i=half)return1;elsereturn0;}知識點解析:判斷回文數(shù),即比對該數(shù)字位置上的數(shù)是否相等,此時使用ltoa函數(shù)將數(shù)字進行拆分,拆分為各個單獨的數(shù)字并放入字符數(shù)組中,然后進行比對。如果首位位置不相等,則退出循環(huán),如果相等則繼續(xù)比對,直到比較到中間位置時都相等,則是回文數(shù),此時返回1。國家三級(網(wǎng)絡技術)機試模擬試卷第3套一、程序設計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:①首先定義字符變量ch和無符號整型變量i、j、k。②對字符二維數(shù)組xx,在第一層for循環(huán)中,變量i從0開始,依次遞增直到其值等于maxline,實現(xiàn)對文章每行的掃描,在第二層for循環(huán)中,變量j從0開始,依次遞增直到其值等于strlen(xx[i]),即第i行的長度。在第三層循環(huán)語句中,變量k從j開始,依次遞增直到其值等于strlen(xx[i]),對每一行中的數(shù)組元素xx[i][j]、xx[i][k]按照它們的ASCII碼值的大小進行比較,如果xx[i][j]的ASCII碼小于xx[i][k]的ASCII碼,則兩者交換,實現(xiàn)整篇文章中的字符按ASCII碼值從大到小的順序進行排序。國家三級(網(wǎng)絡技術)機試模擬試卷第4套一、程序設計題(本題共1題,每題1.0分,共1分。)1、函數(shù)ReadDat()的功能是實現(xiàn)從文件IN35.DAT中讀取一篇英文文章存入到字符串數(shù)組xx中。請編制函數(shù)SortCharD(),該函數(shù)的功能是:以行為單位對字符按從大到小的順序進行排序,排序后的結(jié)果仍按行重新存入字符串數(shù)組xx中,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT35.DAT中。例如,原文:dAe,BfCCCbbAA結(jié)果:fedCBA,bbCCAA原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標點符號和空格。注意;部分源程序已給出。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WrteDat()的內(nèi)容。試題程序:#include<Stdio.h>#include<String.h>#include<conio.h>charxx[50][80];intmaxline=0;intReadDat(void);voidWriteDat(void);voidSortCharD(){}voidmain(){Clrscr();if(ReadDat()){printf("數(shù)據(jù)文件IN35.DAT不能打開!\n\007");return;}SortCharD();WriteDat();}intReadDat(void){FILE*fp;inti=0;Char*p;if((fp:fOpen("IN35.DAT","r"))==NULL)return1;while(fgets(xX[i],80,fp)!=NULL){p=strchr(xX[i],"\n");if(p)*p:0;i++;}maxline=i;fclose(fp);return0;}voidWriteDat(){FILE*fp;inti;Clrscr();fp:fopen("OUT35.DAT","w");for(i:0;i<maxline;i++){printf("%s\",xx[i]);fprintf(fp,"%s\n",xx[i]);}fclose(fp);}標準答案:voidSortCharD(){inti,j,k,strl;charch;for(i=0;i{strl=strlen(xx[i]);/*求各行的長度*/for(j=0;jfor(k=j+l;kif(xx[i][j]{ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}}}知識點解析:本題考查的知識點如下:(1)循環(huán)結(jié)構(gòu)的嵌套。(2)字符的大小比較。(3)字符排序。本題以行為單位對文章進行處理,首先要確定每一行中字符的個數(shù)。這個操作可使用字符串處理函數(shù)strlen(char*str)來完成。對字符從大到小排序依據(jù)的是字符的ASCII碼,在C語言中,字符量可參與任何整型運算,所以可以直接使用比較運算符進行比較。排序使用前面介紹的“選擇排序法”。最后使用循環(huán)結(jié)構(gòu)對文章中的每一行都進行以上的操作。國家三級(網(wǎng)絡技術)機試模擬試卷第5套一、程序設計題(本題共1題,每題1.0分,共1分。)1、對10個候選人進行選舉,現(xiàn)有一個100條記錄的選票文件ENG50.1N,其數(shù)據(jù)存放格式是每條記錄的長度均為10位,第一位表示第一個人的選中情況,第二位表示第二個人的選中情況,依此類推。每一位候選人的記錄內(nèi)容均為字符0或1,1表示此人被選中,0表示此人未被選中,全選或全不選(空選票)均為無效的選票。給定函數(shù)ReadDat()的功能是把選票記錄讀入到字符串數(shù)組xx中。請編制函數(shù)CoutRs()來統(tǒng)計每個人的選票數(shù)并把得票數(shù)依次存入yy[0],jyy[9]中,最后調(diào)用函數(shù)WriteDat()把結(jié)果yy輸出到文件OUT50.DAT中。請勿改動主函數(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ù)文件ENG50.IN不能打開!\n\007"return;}CoutRs();WriteDat();}intReadDat(void){FILE*fp;inti;chartt[13];if((fp=fopen("ENG50.IN","r"))==NULL)return1;for(i=0;i<100;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("OUTS0.DAT","w");for(i=0;i<10;i++){fprintf(fp,"%d\n",yy[i]);printf("第%d個人的選票數(shù)=%d\n",i+l,yy[i]);}fclose(fp);}標準答案:voidCoutRs(void){inti,j=0,k=0;char*str;for(i=0;i<100;i++){str=xx[i];/*指針str指向該行首地址*/j=0;while(*str!=0)if(*str==’1’)/*統(tǒng)計’1’的個數(shù)*/{j++;str++;/*取下一個字符*/}elsestr++;/*如果該字符不是’1’,則什么都不做,取下一個字符*/if(j!=0&&j!=10)/*如果既不是全選也不是空票,則為有效票*/{str=xx[i];/*指針str指向該行首地址*/k=0;while(*str)if<*str++==’1’)/*將每個人的得票數(shù)依次存入yy[0]到y(tǒng)y[9]中*/yy[k++]+=1;else{k++;str++;}}}}知識點解析:本題考查的知識點如下:(1)二維數(shù)組的操作。(2)指向數(shù)組的指針。在本題中,要先判斷選票是否有效。因為記錄存放在一個二位數(shù)組中,為了簡便我們?yōu)閿?shù)組的一組元素定義一個指向數(shù)組的指針,例如,char*p=xx[2]。初始時該指針指向該組的第一個元素,指針地址每加1,則指向下一個元素。這樣就可以輕松地統(tǒng)計每一個選票。設一變量標記每一個選票中1的個數(shù),若其不為0和10,則選票有效。若選票有效,則依次查看哪一個元素為1,在數(shù)組yy相應的元素上加1。使用循環(huán)實現(xiàn)對所有記錄的訪問。國家三級(網(wǎng)絡技術)機試模擬試卷第6套一、程序設計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:通過審題可以發(fā)現(xiàn)僅有一個不同點,即參與平均值計算的元素是數(shù)組xx[i]右移一位之后為奇數(shù)的元素,參考答案的第9條語句。國家三級(網(wǎng)絡技術)機試模擬試卷第7套一、程序設計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:通過審題可以發(fā)現(xiàn)主要是排序條件的設置要求有所不同,參考答案的第6行,修改if條件語句的設置即可。國家三級(網(wǎng)絡技術)機試模擬試卷第8套一、程序設計題(本題共1題,每題1.0分,共1分。)1、已知在文件IN.DAT中存有若干個(個數(shù)<200)四位數(shù)字的正整數(shù),函數(shù)ReadData()負責將這若干個正整數(shù)并存入數(shù)組inBuf[]中。請編制函數(shù)findValue(),其功能要求;(1)求出這文件中共有多少個正整數(shù)totNum;(2)求出這些數(shù)中的各位數(shù)字之和是偶數(shù)的數(shù)的個數(shù)totCnt,以及滿足此條件的這些數(shù)的算術平均值totleAverage,最后調(diào)用函數(shù)WriteData()把結(jié)果outBuf[]輸出到文件OUT.DAT中。注意;部分源程序已給出。請勿改動主函數(shù)main()、讀函數(shù)ReadData()和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include#include#defineMAX200intinBuf[MAX];inttotleNum=0;/*文件IN.DAT中共有多少個正整數(shù)*/inttotleCnt=0;/*符合條件的正整數(shù)的個數(shù)*/doubletotleAverage=0.0;//平均值intReadData(void);voidWriteData(void);voidfindValue(void){}voidmain(){inti;system("CLS");for(i=0;i標準答案:voidfindValue(void){inti,j,k,temp,d[4];for(i=0;i0)//如果當前數(shù)大于零totleNum++;//則將總個數(shù)加1for(j=0;j<4;j++){temp;inBuf[i];//將要進行分解的數(shù)暫存入temp中for(k=0;k知識點解析:本題主要考查數(shù)位分解及數(shù)據(jù)平均值的求法。本程序的步驟是;1.將數(shù)值送入temp中。2.數(shù)位分解,由temp%10得到個位數(shù);(temp/10)%10得到十位數(shù),依此類推,可得到各數(shù)位上的數(shù)值。3.按照題目所給的條件篩選出數(shù)據(jù)。4.對選出的數(shù)據(jù)求平均值,由于本題中的數(shù)據(jù)量比較大,若采用先將各個值加起來再除以總個數(shù)來取平均的話,變量不能存儲那么大的數(shù)據(jù)而導致溢出。本程序采用的方法是;N個數(shù)的平均值=[前(N-1)個數(shù)的平均值*(N-1)+第N個數(shù)]/N,采用這種遞推的方法就避免了將大的數(shù)據(jù)存入變量中而產(chǎn)生溢出。國家三級(網(wǎng)絡技術)機試模擬試卷第9套一、程序設計題(本題共1題,每題1.0分,共1分。)1、已知數(shù)據(jù)文件IN72.DAT中存有200個4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsVal(),其功能是:把個位數(shù)字和千位數(shù)字重新組合成一個新的十位數(shù)ab(新十位數(shù)的十位數(shù)字是原4位數(shù)的個位數(shù)字,新十位數(shù)的個位數(shù)字是原4位數(shù)的千位數(shù)字),以及把百位數(shù)字和十位數(shù)字組成另一個新的十位數(shù)cd(新十位數(shù)的十位數(shù)字是原4位數(shù)的百位數(shù)字,新十位數(shù)的個位數(shù)字是原4位數(shù)的十位數(shù)字),如果新組成的兩個數(shù)均為偶數(shù)且兩個十位數(shù)中至少有一個數(shù)能被9整除,同時兩個新十位數(shù)字均不為零,則將滿足此條件的4位數(shù)按從大到小的順序存入數(shù)組b中,并計算滿足上述條件的4位數(shù)的個數(shù)cnt,最后調(diào)用.寫函數(shù)writeDat()把結(jié)果cnt及數(shù)組b中符合條件的4位數(shù)輸出到OUT72.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:cnt。請勿改動主函數(shù)main()、讀函數(shù)readDat()和寫函writeDat()的內(nèi)容。試題程序:#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsval(){{VoidreadDat(){inti;FILE*fp;fp=fopen("IN72.DAT","r");for(i=0;i<NAX;i++)fscanf(fp,"%d",&a[i]];fclose(fp);}main(){inti;readDat();jsVal()for(i=0;i<cnt;i++)printf("%d\n",b[i]);prIntf("\n");wrlteDat();}wrlteDat(){FILE*fp;inti;fp=fopen("OUT72.DAT","w");fprlrltf(fp,"%d\n",cnt);for(i=0;i<Cht;i++fprIntf(fp,"%d\n",h[i]);fclose(fp);}標準答案:voidjsVal(){ihti,thou,hun,ten,data,j;ihtab,cd;for(i=0;i<200;i++){thou=a[i]/1000;/*求四位數(shù)的千位數(shù)字*/hun=a[i]%1000/100;/*求四位數(shù)的百位數(shù)字*/ten=a[i]%100/10;/*求四位數(shù)的十位數(shù)字*/data=a[i]%10;

溫馨提示

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

最新文檔

評論

0/150

提交評論