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

下載本文檔

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

文檔簡介

國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷27(共9套)(共9題)國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第1套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:通過審題可以發(fā)現(xiàn)主要是排序條件的設(shè)置要求有所不同,參考答案的第6行,修改if條件語句的設(shè)置即可。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第2套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、下列程序的功能是:把s字符串中的所有字母改成該字母的下一個字母,字母z改成字母a。要求大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不做改變。請編寫函數(shù)chg(char*s)實現(xiàn)程序要求,最后調(diào)用函數(shù)readwriteDAT(),讀取in36.dat中的字符串,并把結(jié)果輸出到文件out36.dat中。例如:s字符串中原有的內(nèi)容為Mn123Zxy,則調(diào)用該函數(shù)后,結(jié)果為No123Ayz。注意:部分源程序已給出。請勿改動主函數(shù)main()和輸入輸出函數(shù)readwriteDAT()的內(nèi)容。試題程序:#include<stdio.h>#include<string.h>#include<conio,h>#include<ctype,h>#defineN81voidreadwriteDAT();voidchg(charas){}main(){chara[N];clrscr();printf("Enterastring:");gets(a);printf("Theoriginalstringis:");puts(a);chg(a);printf("Thestringaftermodified:");puts(a);readwriteDAT();}voidreadwriteDAT(){inti;chara[N];FILE*rf,*wf;rf=fopen("in36.dat","r");wf=fopen("out36.dat","w");for(i=0;i<10;i++){fgets(a,81,rf);chg(a);fprintf(wf,"%s",a);}fclose(rf);fclose(wf);}標準答案:voidchg(char*s){while(*s)if(*s==’z’||*s==’z’)/*字母z改成字母a,字母z改成字母A*/{*s-=25;s++;/*取下一個字母*/}elseif(*s>=’a’&&*s<=’y’)/*把小寫字母改成該字母的下一個字母*/{*s+=l;s++;/*取下一個字母*/}elseif(*s>=’A’&&*s<=’Y’)/*把大寫字母改成該字母的下一個字母*/{*s+=l;s++;/*取下一個字母*/}elses++;/*取下一個字母*/}知識點解析:本題考查的知識點如下:(1)英文字母對應(yīng)的ASCII碼的排列規(guī)律。(2)指針的操作。(3)選擇結(jié)構(gòu)中多個條件的布爾運算。在ASCII碼中,大、小寫字母的ASCII碼是連貫的,a~z對應(yīng)97~122,A~Z對應(yīng)65~90。z的ASCII碼減去25即得到a的ASCII碼,對Z同樣適合。所以我們要對字符串中的字符依次進行判斷,若是大(小)寫字母,則按照ASCII碼的規(guī)律和題意要求對字符進行轉(zhuǎn)換。在這里,使用指針完成對字符的依次訪問,每次將指針的地址加1直至指針為空即可。在選擇結(jié)構(gòu)的多個條件中,若需同時滿足,則用“與”運算,否則,用“或”運算。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第3套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:①定義整型循環(huán)變量i、j和表示字符串長度的整型變量strl,以及字符局部變量ch。②在第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于maxline,在循環(huán)體中,利用庫函數(shù)strlen()求得字符串suing[i]的長度,把此值賦給變量strl。把字符串string[i]的最后一個字符string[i][strl-1]賦給字符變量ch,暫時保存起來。在第二層for循環(huán)中,循環(huán)變量j從str1-1開始,依次遞減直到其值小于或等于0,在循環(huán)體中,字符string[i][j]的ASCII碼值右移4位,然后再與字符string[i][j-1]的ASCII碼值相加的和保存到字符string[i][j]中。當退出第二層for循環(huán)后,把第i行的第一個字符string[i][0]與最后一個字符ch的值相加,保存在string[i][0]中。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第4套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:①首先定義兩個循環(huán)變量i、j;一個用來保存結(jié)構(gòu)體變量長度的計算結(jié)果的變量len;一個用于中間轉(zhuǎn)換數(shù)據(jù)的結(jié)構(gòu)體變量tmp。②計算結(jié)構(gòu)體變量長度,并按結(jié)構(gòu)體變量tmp分配len大小的內(nèi)存空間。③建立兩個for循環(huán),指定第一個for循環(huán)的循環(huán)變量i從0開始,到100時結(jié)束,每循環(huán)一次,變量i的值加1;第2個for循環(huán)的循環(huán)變量j從i+1開始,即從當前行的下一行開始,到100時結(jié)束,每循環(huán)一次,變量j的值加1。④在循環(huán)體中指定排序的條件,分兩個步驟指定,第一步通過strcmp()函數(shù)判斷第i行的產(chǎn)品代碼與其后面各行中產(chǎn)品代碼的大小關(guān)系;第二步,如果比較的兩行中產(chǎn)品代碼相同的話,則再比較金額的大小。當?shù)趇行的產(chǎn)品代碼小于后面比較行的產(chǎn)品代碼,又或者產(chǎn)品代碼相同時,第i行的金額小于后面比較行的金額時,將執(zhí)行if條件語句后面花括號中的命令,花括號中3條命令的功能就是根據(jù)題目要求實現(xiàn)將記錄從大到小的排序。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第5套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有200個四位整型數(shù),函數(shù)ReadData()負責(zé)將IN.DAT中的數(shù)讀到數(shù)組inBuf[]中。請編制一函數(shù)findData(),其功能是;依次從數(shù)組inBuf中取出一個四位數(shù),如果該四位數(shù)連續(xù)小于該四位數(shù)以后的5個數(shù)且該數(shù)是偶數(shù)(該四位數(shù)以后不滿5個數(shù),則不統(tǒng)計),則按照從小到大的順序存人數(shù)組outBuf[]中,并用count記錄下符合條件的數(shù)的個數(shù)。函數(shù)WriteData()負責(zé)將outBuf[]中的數(shù)輸出到文件OUT.DAT中并且在屏幕上顯示出來。注意;部分源程序已給出。程序中已定義數(shù)組;inBuf[200],outBuf[200],已定義變量;count。請勿改動主函數(shù)main()、讀函數(shù)ReadData()和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include#defineMAX200intinBuf[MAX],outBuf[MAX],count=0;voidfindData(){}voidReadData(){inti;FILE*fp;fp=fopen("IN.DAT","r");for(i=0;i標準答案:voidfindData(){inti,j,temp,flag;//選出偶數(shù)的項并且該數(shù)連續(xù)小于該數(shù)以后的5個數(shù)count=0;for(i=0;iinBuf[i+j])flag=1;if(flag==0){outBuf[count]=inBuf[i];//將滿足要求的數(shù)據(jù)存人outBuf中count++;//將計數(shù)器加1}}for(i=0;ioutBuf[j])/*如果第i位比它后面的數(shù)大,則將兩者進行交換,也即將更小的值放到第i位*/{temp=outBuf[i];outBuf[i]=outBuf[j];outBuf[j]=temp;}}知識點解析:本題主要考查數(shù)據(jù)的奇偶判斷、數(shù)組中數(shù)據(jù)的比較及排序程序步驟;1.查找符合要求的項;利用條件inBuf[i]%2==0找出數(shù)值是偶數(shù)的項。用該項與其后面的連續(xù)5項相比較,如果有一項不符全要求(大于或小于后面的項),則可將該項排除,程序中的flag變量即是為此目的而設(shè)的。這樣一來便可找出所有符合要求的項。2.排序的思想是(以從小到大為例);將當前數(shù)據(jù)與其后的各個數(shù)據(jù)相比較,如果當前的數(shù)據(jù)比其后的數(shù)據(jù)大,則將兩數(shù)據(jù)進行交換,從而使得前面的數(shù)據(jù)小于后面的數(shù)據(jù),達到從小到大排序的目的。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第6套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:通過審題可以發(fā)現(xiàn)主要是排序條件的設(shè)置要求有所不同,參考答案的第6行,修改if條件語句的設(shè)置即可。另外,在源程序中已經(jīng)定義了一個無符號變量vaI,因此,在編寫答案程序時,不需要再重新定義。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第7套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:通過審題可以發(fā)現(xiàn)僅有一個不同點,即本題是計算數(shù)組下標為奇數(shù)的元素的平均值,參考答案的第6條語句。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第8套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、已知數(shù)據(jù)文件IN45.DAT中存有200個4位數(shù),并已調(diào)用讀函數(shù)IeadDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)isVa1(),其功能是:把千位數(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ù)ab-ed≥10且ab-cd≤20且兩個數(shù)均為偶數(shù),同時兩個新十位數(shù)字均不為零,則將滿足此條件的4位數(shù)按從大到小的順序存入數(shù)組b中,并要計算滿足上述條件的4位數(shù)的個數(shù)ent,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt及數(shù)組b中符合條件的4位數(shù)輸出到OUT45.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],已定義變量:cnt。請勿改動主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。試題程序;#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){}voidreadDat(){inti;FILE*fp;fp=fopen("IN45.DAT","r");for(i=0;i<MAX;i++)fscanf(fp,"%d",&aIii);fclose(fp);}main(){inti;readDat();jsVal();printf("滿足條件的數(shù)=%d\n",cnt);for(i=0;i<cnt;i++)printf("%d\n",b[i]);printf("\n");writeDat();}writeDat(){FILE*fp;inti;fp=fopen("OUT45.DAT","w");fprintf(fp,"%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);}標準答案:voidjsVal(){inti,thou,hun,ten,data,j;intab,cd;for(i=O;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;/*求四位數(shù)的個位數(shù)字*/ab=thou*lO+ten;/*ab的十位數(shù)字是原4位數(shù)的千位數(shù)字,個位數(shù)字是原4位數(shù)的十位數(shù)字*/cd=data*lO+hun;/*cd的十位數(shù)字是原4位數(shù)的個位數(shù)字,個位數(shù)字是原4位數(shù)的百位數(shù)字*/if((ab-cd>=lO)&&(ab-cd<=20)&&(ab%2==O)&&(cd%2==O)&&ab!=O&&cd!=0){/*如果-ab-cd≥10且ab-od≤20且兩個數(shù)均為偶數(shù),且均不為零*/b[cnt]=a[i];/*將滿足條件的數(shù)存入數(shù)組b中*/cnt++;/*統(tǒng)計滿足條件的數(shù)的個數(shù)*/}}for(i=O;i<cnt-1;i++)/*將數(shù)組b中的4位數(shù)按從大到小的順序*/for(j=i+l;j<cnt;j++)if(b[i]<b[j]){data=b[i];b[i]=b[j];b[j]=data;}}知識點解析:本題考查的知識點如下:(1)將一個4位整數(shù)各位上的數(shù)轉(zhuǎn)變成單獨的個位數(shù)。(2)判斷結(jié)構(gòu)中多個條件的布爾運算。(3)循環(huán)的使用。(4)數(shù)據(jù)的排序。在本題中,首先要將一個4位數(shù)的千位、百位、十位、個位拆成獨立的數(shù)字。這里借助特殊運算符號“%”(取余)和“/”(整除)。將一個4位數(shù)整除1000則可得到其干位上的數(shù)字,除以1000取余再整除100則可得百位上的數(shù)字,除以100取余再整除10則可得十位上的數(shù)字,除以10取余則得個位上的數(shù)字。若一個數(shù)除以2取余為0,則這個數(shù)是偶數(shù)。題目中所給的條件必須同時滿足,所以各條件之間用“與”運算。最后的排序采用“選擇排序法”。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第9套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位)、產(chǎn)品名稱mc(符型10位)、單價dj(整型)、數(shù)量sl(整型)、金額je(長整型)五部分組成。其中;金額一單價*數(shù)量計算得ttl。函數(shù)ReadDat()是讀取這100個銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求;按產(chǎn)品代碼從大到小進行排列,若產(chǎn)品代碼相同,則按金額從大

溫馨提示

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

評論

0/150

提交評論