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

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷19(共9套)(共9題)國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第1套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:①首先定義兩個(gè)循環(huán)變量i、j;一個(gè)用來保存結(jié)構(gòu)體變量長(zhǎng)度的計(jì)算結(jié)果的變量len;一個(gè)用于中間轉(zhuǎn)換數(shù)據(jù)的結(jié)構(gòu)體變量tmp。②計(jì)算結(jié)構(gòu)體變量長(zhǎng)度,并按結(jié)構(gòu)體變量tmp分配len大小的內(nèi)存空間。③建立兩個(gè)for循環(huán),指定第一個(gè)for循環(huán)的循環(huán)變量i從0開始,到100時(shí)結(jié)束,每循環(huán)一次,變量i的值加1;第2個(gè)for循環(huán)的循環(huán)變量j從i+1開始,即從當(dāng)前行的下一行開始,到100時(shí)結(jié)束,每循環(huán)一次,變量j的值加1。④在循環(huán)體中指定排序的條件,分兩個(gè)步驟指定,第一步通過strcmp()函數(shù)判斷第i行的產(chǎn)品代碼與其后面各行中產(chǎn)品代碼的大小關(guān)系;第二步,如果比較的兩行中產(chǎn)品代碼相同的話,則再比較金額的大小。當(dāng)?shù)趇行的產(chǎn)品代碼小于后面比較行的產(chǎn)品代碼,又或者產(chǎn)品代碼相同時(shí),第i行的金額小于后面比較行的金額時(shí),將執(zhí)行if條件語句后面花括號(hào)中的命令,花括號(hào)中3條命令的功能就是根據(jù)題目要求實(shí)現(xiàn)將記錄從大到小的排序。國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第2套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、函數(shù)ReadDat()的功能是實(shí)現(xiàn)從文件ENG4.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中。請(qǐng)編制函數(shù)encryptChar(),按給定的替代關(guān)系對(duì)數(shù)組xx中的所有字符進(jìn)行替代,結(jié)果仍存入數(shù)組xx對(duì)應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件PS4.DAT中。替代關(guān)系:f(p)=p*11mod256(p是數(shù)組xx中某一個(gè)字符的ASCII值,f(p)是計(jì)算后新字符的ASCII值),如果計(jì)算后f(p)的值小于等于32或大于130,則該字符不變,否則將f(p)所對(duì)應(yīng)的字符進(jìn)行替代。注意:部分源程序已給出。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于,80個(gè)字符。請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容。試題程序:#include<stdio.h>#include<string.h>#include<conio.h>#include<ctype.h>unsignedcharxx[50][80];intmaxline=0;/*文章的總行數(shù)*/intReadDat(void);voidWriteDat(void);voidencryptChar(){main(){clrscr();if(ReadDat()){printf("數(shù)據(jù)文件ENG4.IN不能打開!\n\007");return;}encryptChar();WriteDat();}intReadDat(void){FILE*fp;inti=0;unsignedchar*p;if((fp=fopen("ENG4.IN","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(void){FILE*fp;inti;fp=fopen("PS4.DAT","w");for(i=0;i<maxline;i++){printf("%s\n",xx[i]);fprintf(fp,"%s\n",xx[i]);}fclose(fp);}標(biāo)準(zhǔn)答案:voidencryptChar(){inti;char*pf;for(i=O;i<maxline;i++){pf=xx[i];/*指針pf指向各行的首地址*/while(*pf!=0){if(*pf*11%256>130||*pf*11%256<=32);/*如果廣計(jì)算后的值小于等于32或大于130*//*則該字符不變*/else*pf=*pf*11%256;/*否則將所對(duì)應(yīng)的字符進(jìn)行替代*/pf++;/*指針pf指向下一個(gè)字符*/}}}知識(shí)點(diǎn)解析:本題主要考查用指針變量來控制字符數(shù)組,由于要對(duì)已有二維字符數(shù)組的所有元素逐個(gè)處理,因此,需要定義一個(gè)字符指針變量來控制原二維數(shù)組的各行,當(dāng)前行如果確定下來,用指針的移動(dòng)就可以依次掃描該行的所有字符元素,每得到一個(gè)字符就對(duì)它進(jìn)行條件判斷。根據(jù)題意,條件用“if(*pf*11%256>130||*pf*11%256<=32)”語句米實(shí)現(xiàn),如果該字符不滿足上述條件,就用一個(gè)新的字符來替代,新的字符是當(dāng)前的字符乘以11的結(jié)果再去與256求余數(shù)。處理完畢后,指針去取下一個(gè)字符。如果該字符滿足所給條件,將不做任何操作,指針直接下移,去取下一個(gè)字符,對(duì)下一個(gè)字符進(jìn)行處理。國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第3套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有一篇英文文章,函數(shù)ReadData()負(fù)責(zé)將IN.DAT中的數(shù)據(jù)讀到數(shù)組inBuf[][]中。請(qǐng)編制函數(shù)replaceChar(),該函數(shù)的功能是;以行為單位把字符串的最后一個(gè)字符ASCII值右移4位后加最后第二個(gè)字符的ASCII值,得到最后一個(gè)新的字符,最后第二個(gè)字符的ASCII值右移4位后加最后第三個(gè)字符的ASCII值,得到最后第二個(gè)新的字符,依此類推,一直處理到第二個(gè)字符,第一個(gè)字符的ASCII值加最后一個(gè)字符的ASCII值,得到第一個(gè)新的字符,得到的新字符分別存放在原字符串對(duì)應(yīng)的位置上。把已處理的字符串仍按行重新存人字符串?dāng)?shù)組inBuf[][]中,函數(shù)WriteData()負(fù)責(zé)將inBuf[][]中的數(shù)據(jù)輸出到文件OUT.DAT中并且在屏幕上打出。原始數(shù)據(jù)文件存放的格式是;每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格。注意;部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadData()和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include#include#include#include#defineLINE50#defineCOL80charinBuf[LINE-I[COL+1];inttotleLine=0;//文章的總行數(shù)intReadData(void);voidWriteData(void);voidreplaceChar(){}voidmain(){system("CLS");if(ReadData()){printf("IN.DATcan’tbeopen!\n\007");return;}replaceChar();WriteData();}intReadData(void){FILE*fp;inti=0;char*P;if((fp=fopen("IN.DAT","r"))==NULL)return1;while(fgets(inBuf[i],COL+1,fp)!=NULL){p=strchr(inBuf[i],’\n’);if(p)*p=’\0’;i++;}totleLine=i;fclose(fp);return0;}voidWriteData(void){FILE*fp;inti;fp=fopen("OUT.DAT","w");for(i=0;i標(biāo)準(zhǔn)答案:voidreplaceChar(){inti,j,len,last;chary;for(i=0;i0;j--)inBuf[i][j]=(inBuf[i][j]>>4)+inBuf[i][j-1];/*其他情況下,則將該字符的ASCII碼右移4位再加上前一個(gè)字符的ASCII碼*/inBuf[i][0]+=last;//將整型轉(zhuǎn)換成字符型存入inBuf中}}知識(shí)點(diǎn)解析:本題主要考查字符與其對(duì)應(yīng)的ASCII碼之間的轉(zhuǎn)換及對(duì)ASCII碼進(jìn)行操作。程序步驟;1.計(jì)算出每行字符串的長(zhǎng)度。2.將字符串中最后一個(gè)保存在變量last中。3.按照指定的規(guī)則對(duì)字符串中除第一個(gè)以外的字符進(jìn)行替代。4.對(duì)第一個(gè)字符按照指定規(guī)則進(jìn)行替代。國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第4套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:通過審題可以發(fā)現(xiàn)主要是對(duì)字符串左邊部分排序時(shí)所采用的排序方式不同,參考答案的第11行,修改if條件語句的設(shè)置即可。國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第5套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:通過審題可以發(fā)現(xiàn)主要是對(duì)四位數(shù)的篩選條件有所不同,即判斷新組合的兩位數(shù)要求第一個(gè)為偶數(shù),第二個(gè)為奇數(shù),比較兩題的第10條語句,只需將新組合的第二個(gè)數(shù)的判斷條件改為奇數(shù)判斷,即?!皀ewV2%2”。國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第6套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、下列程序的功能是:把s字符串中所有的字符左移一個(gè)位置,串中的第一個(gè)字符移到最后。請(qǐng)編制函數(shù)chg(char*s)實(shí)現(xiàn)程序要求,最后調(diào)用函數(shù)readwriteDat()把結(jié)果輸出到out63.dat文件中。例如:s字符串中原有內(nèi)容為Mn,123xyZ,則調(diào)用該函數(shù)后,結(jié)果為n,123xyZM。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main()和輸入輸出函數(shù)readwriteDAT()的內(nèi)容。試題程序:#include<conio.h>#include<stdio.h>#defineN81voidreadwriteDAT();voidchg(char*s){}main(){chara[N];clrscr();printf("Enterastring:");gets(a);printf("Theoriginalstringis:");puts(a);chg(a);printf("Thestringaftermodified:");puts(a);readwriteDAT();}voidreadwriteDAT(){inti;chara[N];unsignedchar*p;FILE*rf,*wf;rf=fopen("in63.dat","r");wf=fopen("out63.dat","w");for(i=0;i<10;i++){fgets(a,80,rf);p=strchr(a,’\n’);if(p)*p=0;chg(a);fprintf(wf,"%s\n",a);}fclose(rf);fclose(wf);}標(biāo)準(zhǔn)答案:voidchg(char*s){inti,strl;charch;strl=strlen(s);/*求字符串的長(zhǎng)度*/ch=*s;/*將第一個(gè)字符暫賦給ch*/for(i=O;i<strl-1;i++)/*將字符依次左移*/*(s+i)=*(s+i+l);*(s+strl-1)=ch;/*將第一個(gè)字符移到最后*/}知識(shí)點(diǎn)解析:本題考查的知識(shí)點(diǎn)如下:(1)數(shù)組中元素的移動(dòng)。(2)指針的使用。我們可以使用一個(gè)循環(huán)實(shí)現(xiàn)數(shù)組中所有字符元素的左移。這里要注意的足第1個(gè)字符要移至最后1個(gè)字符處,所以首先要將第1個(gè)字符保存。在移動(dòng)時(shí),要從左到右依次移動(dòng),否則,左側(cè)的字符會(huì)在移動(dòng)前被其右側(cè)的字符覆蓋。在這里使用了指針,初始時(shí),指針指向數(shù)組的第1個(gè)元素,隨著地址的增加指針指向數(shù)組后面的元素。例如,若地址加2,國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第7套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、設(shè)有n個(gè)人坐一圈并按順時(shí)針方向從1到n編號(hào),從第s個(gè)人開始進(jìn)行1到m的報(bào)數(shù),報(bào)數(shù)到第m個(gè)人,此人出圈,再?gòu)乃南隆獋€(gè)人重新開始從1到m報(bào)數(shù),如此進(jìn)行下去直到所有的人都出圈為止。先要求按出圈次序,每10個(gè)人為一組,給出這n個(gè)人的順序表。請(qǐng)編制函數(shù)Josegh()實(shí)現(xiàn)此功能并調(diào)用函數(shù)WriteDat()把編設(shè)n=100,s=1,m=10進(jìn)行編程。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main()和寫函數(shù)WritsDat()的內(nèi)容。試題程序:#include<stdio.h>#defineN100#defineS1#defineM10intp[lOO],n,s,m;voidWriteDat(void);voidJosegh(void){}voidmain(){m=M;n=N;s=S;Josegh();WriteDat();}voidWriteDat(void){inti;FILE*fp;fp=fopen("OUT59.DAT","w");for(i=N-1;i>=0;i--){printf("%4d",p[i]);fprintf(fp,"%4d",p[i]);if(i%10==0){printf("\n");fprintf(fp,"\n");}}fclose(fp);}標(biāo)準(zhǔn)答案:voidJosegh(void){inti,j,k,sl,w;s1=s;for(i=l;i<=n;i++)/*給n個(gè)人從到n編號(hào)*/p[i-1]=i;for(i=n;i>=2;i--){s1=(s1+m-1)%i;/*下一個(gè)開始報(bào)數(shù)的人的編號(hào)是(s1+m-1)%i*/if(s1==0)/*若s1為0,則說明要開始報(bào)數(shù)的是最后一個(gè)人*/s1=i;w=p[s1-1];/*將要出圈的人移至數(shù)組的最后*/for(j=sl;j<=i-1;j++)p[j-1]=p[j];p[i-1]=w;}}知識(shí)點(diǎn)解析:本題考查的知識(shí)點(diǎn)如下:(1)將數(shù)組建成環(huán)。(2)運(yùn)算符“%”的使用。(3)循環(huán)的嵌套使用。此題是著名的“約瑟夫環(huán)”問題。首先要將每個(gè)人的編號(hào)存入數(shù)組。因?yàn)槊看问菑膕1開始報(bào)數(shù),若是直線隊(duì)則下一個(gè)開始報(bào)數(shù)的人的編號(hào)是s1+m-1,但這里要建立一個(gè)環(huán),即最后一個(gè)人報(bào)完數(shù)后第一個(gè)人接著報(bào)數(shù)。所以這時(shí)下一個(gè)開始報(bào)數(shù)的人的編號(hào)足(s1+m-1)%i,i是此時(shí)圈中的總?cè)藬?shù)。若所得的結(jié)果為0,則說明要開始報(bào)數(shù)的是最后一個(gè)人。在此人前面的那個(gè)人就是要出圈的人,使用循環(huán)將要出圈的人移至數(shù)組的最后。開始時(shí),總?cè)藬?shù)為n,以后依次減1,直到最后一個(gè)人出圈。國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第8套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:①定義表示Fibonacci數(shù)列中第F(n-2)項(xiàng)的變量f0,第F(n-1)項(xiàng)的變量f1,第F(n)項(xiàng)的變量f2。②當(dāng)Fibonacci數(shù)列中第F(n)項(xiàng)的值f2小于t時(shí),把數(shù)列當(dāng)前第F(n-1)項(xiàng)的值n賦給內(nèi),把數(shù)列當(dāng)前第F(n)項(xiàng)的值f2賦給f1,根據(jù)。Fibonacci數(shù)列的遞推關(guān)系,第n項(xiàng)的值等于第n-1項(xiàng)的值與第n-2項(xiàng)值的和,計(jì)算數(shù)列當(dāng)前第n+1項(xiàng)的值f2=f0+f1依次循環(huán),當(dāng)f2的值大于t時(shí),退出while循環(huán),把f2的值返回。國(guó)家三級(jí)(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第9套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、讀函數(shù)readDat()的功能是從文件IN25.DAT中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組xx中(每行字符串長(zhǎng)度均小于80)。請(qǐng)編制函數(shù)jsSort(),該函數(shù)的功能是:以行為單位對(duì)字符串按下面給定的條件進(jìn)行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果xx輸出到文件OUT25.DAT中。條件:從字符串中間一分為二,左邊部分按字符的ASCII值升序排序,排序后,左邊部分與右邊部分按例子所示進(jìn)行交換。如果原字符串長(zhǎng)度為奇數(shù),則最中間的字符不參加處理,字符仍放在原位置上。例如:位置012345678源字符串dcbahgfe43219876處理后字符串hgfeabcd98761234注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。試題程序:#include〈stdio.h>#include〈string.h>#include〈conio.h>charxx[20][80];voidjsSort(){}main(){readDat();jsSort();writeDat();}readDat(){FILE*in;inti=0;char*p;in=fopen("IN25.DAT","r");while(i〈20&&fgets(xx[i],80,in)!=NULL){p=strchr(xx[i],’\n’);if(p)*p=0;i++;}fclose(in);}writeDat(){FILE*out;inti;clrscr();out=fopen("OUT25.DAT","w");for(i=0;i〈20;i++){printf("%s\n",xx[i]);fprintf(out,"%s\n",xx[i]);}

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論