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

下載本文檔

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

文檔簡介

國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷17(共9套)(共9題)國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第1套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有一篇英文文章,函數(shù)ReadData()負(fù)責(zé)將IN.DAT中的數(shù)據(jù)讀到數(shù)組inBuf[][]中。請編制函數(shù)ReplaceChar(),該函數(shù)的功能是按照指定規(guī)則對字符進(jìn)行替換。變換后的值仍存人數(shù)組inBuf[]中。函數(shù)WriteData()負(fù)責(zé)將inBuf[]中的數(shù)據(jù)輸出到文件OUT.DAT中,并且在屏幕上輸出。替換規(guī)則為;先對字符的ASCII碼值按公式y(tǒng)=(a*11)mod256進(jìn)行運(yùn)算(a為某一字符的ASCII碼值,y為變換后的ASCII碼值),如果原字符的ASCII碼值是偶數(shù)或計(jì)算后Y的值小于等于32,則字符保持不變,否則用y對應(yīng)的字符代替。注意;部分源程序已給出。原始數(shù)據(jù)文件存放的格式是;每行的寬度均小于80個(gè)字符。請勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadData和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include#include#include#includeusingnedcharstr[50][80];intmaxline=0;intReadData(void);intWriteData(void);voidReplaceChar(){}voidmain(){If(ReadData()){printf("數(shù)據(jù)文件In.dat不能打開!\n\007");return;}ReplaceChar();WriteData();}intReadData(void){FILE*fp;inti=0;unsignedchar*P;if((fp=open("In.dat","r")==NULL)return1;while(fet(str[i],80,fp)!=NULL){p=strchr(str[i],’\n’);if(p)*p=0;i++;}maxline=i;fclose(fp);return0;}voidWriteData(void){FILE*fp;inti;fp=fopen("Out.dat","w");for(i=0;i標(biāo)準(zhǔn)答案:voidencryptChar(){inti;char*fp;for(i=0;i知識(shí)點(diǎn)解析:本題考查ASCII碼,在for循環(huán)中對字符串str中的每個(gè)字符用邏輯表達(dá)式(*fp>=’A’&&*fp<=’Z’)||*fp*11%256<=32進(jìn)行判斷,然后根據(jù)要求求出其要替代的字符的ASCII值,最后進(jìn)行替代。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第2套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、下列程序的功能是:在3位整數(shù)(100至999)中尋找符合下面條件的整數(shù),并依次從小到大存入數(shù)組b中:它既是完全平方數(shù),又有兩位數(shù)字相同,例如144,676等。請編制函數(shù)intjsValue(intbb[])實(shí)現(xiàn)此功能,滿足該條件的整數(shù)的個(gè)數(shù)通過所編制的函數(shù)返回。最后調(diào)用函數(shù)wfiteDat()把結(jié)果輸出到文件OUTl2.DAT中。注意:部分源程序已給出。請勿改動(dòng)主函數(shù)main()和寫函數(shù)wnteDat()的內(nèi)容。試題程序:#include<stdio.h>intjsValue(intbb[]{}main(){intb[20],num;num=jsValue(b);writeDat(num,b);}writeDat(intnum,intb[]){FILE*out;inti;out=fopen("OUT12.DAT","w");fprintf(out,"%d\n",num);for(i=0;i<num;i++)fprintf(out,"%d\n",b[i]);fclose(out);}標(biāo)準(zhǔn)答案:intisValue(intbb[]){inti,j,k=0;inthun,ten,data;for(i=100;i<=999;i++){j=10;while(i*j<=i){if(i==i*j)/*如果該數(shù)是完全平方數(shù)*/}hun=i/100;/*求該數(shù)的百位數(shù)字*/data=i-hun*100;/*得到后兩位數(shù)*/ten=data110;/*求該數(shù)的十位數(shù)字*/data=data-ten*10;/*求該數(shù)的個(gè)位數(shù)字*/if(hun==ten||hun==data||ten==data)/*有兩位數(shù)字相同*/{bb[k]=i;/*則把該數(shù)存入數(shù)組bb中*/k++;}/*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*/}j++;}}returnk;/*返回滿足該條件的整數(shù)的個(gè)數(shù)*/}知識(shí)點(diǎn)解析:解答本題,首先應(yīng)該考慮用一個(gè)for循環(huán)來依次取得100到999之間的各個(gè)數(shù),并對當(dāng)前所取得的數(shù)進(jìn)行兩個(gè)條件判斷:一是判斷該數(shù)是否是完全平方數(shù):二是判斷該數(shù)是否有兩位數(shù)字相同。如果以上兩個(gè)條件同時(shí)滿足,則把該數(shù)存放到b數(shù)組中,盡管題目要求所存的數(shù)必須從小到大,但我們?nèi)?shù)的過程本身就是從小到大取得,因此,排序工作是沒有必要做的,按照取數(shù)的順序,把滿足條件的數(shù)值存放到數(shù)組b中就可以了。判斷某個(gè)數(shù)是否是完全平方數(shù)的方法是看該數(shù)是否可以拆成完全相同的兩個(gè)數(shù)的積(當(dāng)然要拆成的兩個(gè)數(shù)一定是兩位數(shù)),因此,我們再利用一個(gè)循環(huán)用10以上的兩位數(shù)逐個(gè)去拆被判斷的數(shù),如果被判斷的數(shù)恰好可以被完全拆分,則第一個(gè)條件成立,接著就開始依次取得被判斷的數(shù)的百位、十位、個(gè)位上的數(shù)字值,看是否有兩位數(shù)字相同。取得每一位上的數(shù)字值可以用“hun=i/100;data=i-hun*100:ten=data/10;data=data-ten*10:”幾條語句來實(shí)現(xiàn),hun變量得到的是百位上的數(shù)字,ten變量得到的是十位上的數(shù)字,data變量得到的是個(gè)位上的數(shù)字。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第3套一、程序設(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ù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù),按照從大到小的順序存人數(shù)組outBuf[]中,并用count記錄下符合條件的數(shù)的個(gè)數(shù)。函數(shù)WriteData()負(fù)責(zé)將outBuf[]中的數(shù)輸出到文件OUT.DAT中并且在屏幕上顯示出來。注意;部分源程序已給出。程序中已定義數(shù)組;inBuf[200],outBuf[200],已定義變量;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;for(i=0;i知識(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ù)值分離出來。程序步驟;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á)到從大到小排序的目的。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第4套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:①定義整型循環(huán)變量i、j和局部變量tmp。②在for循環(huán)語句中,循環(huán)變量i從0開始,依次遞增直到其值等于或大于MAX,用if條件語句判斷如果a[i]和b[i]同時(shí)為奇數(shù),由a[i]的十位數(shù)字為新數(shù)的千位數(shù)字,個(gè)位數(shù)字為新數(shù)的個(gè)位數(shù)字,b[i]的十位數(shù)字為新數(shù)的百位數(shù)字,個(gè)位數(shù)字為新數(shù)的十位數(shù)字,把這個(gè)新組成的數(shù)存入數(shù)組元素c[cn],同時(shí)數(shù)組下標(biāo)變量cn加1。③在第一層for循環(huán)語句中,循環(huán)變量i從0開始,依次遞增直到其值等于或大于cnt,在第二層循環(huán)中,循環(huán)變量j從i+1開始,依次遞增直到其值等于cnt,用if條件語句判斷如果數(shù)組元素c[i]大于c[j],則兩者進(jìn)行互換,實(shí)現(xiàn)數(shù)組c中的數(shù)按從小到大的順序進(jìn)行排序。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第5套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:①因?yàn)榉匠蘳os(x)-x=0的根為實(shí)數(shù),所以定義兩個(gè)雙精度型變量x0,x1。并把變量x1的初值設(shè)為0.0。②根據(jù)題目中給出的求方程一個(gè)實(shí)根的迭代算法,在while循環(huán)中,首先把變量x1的值賦給x0,然后利用表達(dá)式cos(x0)求出一個(gè)值x1,再調(diào)用vc6.0的求絕對值的庫函數(shù)fabs(),判斷如果x0與x1差的絕對值小于0.000001,就認(rèn)為x1的值是方程cos(x)-x=0的一個(gè)實(shí)根,此時(shí)退出循環(huán),把x1的值返回。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第6套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有200個(gè)銷售記錄,每個(gè)記錄均由產(chǎn)品代碼ID(字符型4位)、產(chǎn)品名稱name(字符型10位)、單價(jià)price(整型)、數(shù)量amount(整型)、金額value(長整型)幾部分組成。其中;金額=單價(jià)×數(shù)量,函數(shù)ReadData()負(fù)責(zé)將IN.DAT中的數(shù)據(jù)讀到結(jié)構(gòu)數(shù)組sell[]中。請編制函數(shù)sortData(),將各個(gè)記錄按產(chǎn)品代碼從小到大進(jìn)行排列,若產(chǎn)品代碼相同,則按金額從小到大進(jìn)行排列,并將排列后的結(jié)果存放NUsell[]中。函數(shù)WriteData()負(fù)責(zé)將sell[]中的數(shù)據(jù)輸出到文件OUT.DAT中。注意;部分源程序已給出。請勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadData()和寫函數(shù)WriteData()的內(nèi)容。試題程序;#include#include#include#include#defineMAX200typedefstruct{charID[5];//產(chǎn)品代碼charname[11];//產(chǎn)品名稱intprice;//單價(jià)intamount;//數(shù)量longvalue//金額}PRODUCT;PRODUCTsell[MAX];voidReadData();voidWriteData();voidsortData(){}voidReadData(){FILE*fp;charstr[80],ch[11];inti;fp=fopen("IN.DAT","r");for(i=0;i標(biāo)準(zhǔn)答案:voidsortData(){PRODUCTtemp;inti,j;memset(&temp,0,sizeof(temp));for(i=0;i0||(strcmp(sell[i].ID,sell[j].ID)==0&&sell[i].value>sell[j].value)){memcpy(&temp,&sell[i],sizeof(temp));/*將以&sell[i]為起始地址大小為sizeof(temp)的內(nèi)存中的內(nèi)容復(fù)制到以&.temp為起始地址的內(nèi)存中*/memcpy(&sell[i],&sell[j],sizeof(temp));memcpy(&.sell[j],&temp,sizeof(temp));}}知識(shí)點(diǎn)解析:本題主要考查結(jié)構(gòu)數(shù)組排序的問題。所謂結(jié)構(gòu)數(shù)組排序就是以結(jié)構(gòu)某一元素為依據(jù)對結(jié)構(gòu)數(shù)組進(jìn)行排序。排序的思想是(以從小到大為例);將當(dāng)前數(shù)據(jù)與其后的各個(gè)數(shù)據(jù)相比較,如果當(dāng)前的數(shù)據(jù)比其后的數(shù)據(jù)大,則將兩數(shù)據(jù)進(jìn)行交換,從而使得前面的數(shù)據(jù)小于后面的數(shù)據(jù),達(dá)到從小到大排序的目的。但是由于結(jié)構(gòu)不像變量那樣可以通過簡單的賦值來交換變量(如果要賦值的話需要對結(jié)構(gòu)里的所有元素進(jìn)行賦值替換,比較麻煩),所以在進(jìn)行兩個(gè)相鄰結(jié)構(gòu)交換時(shí),用到內(nèi)存拷貝函數(shù)來對內(nèi)存的內(nèi)容整體進(jìn)行操作。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第7套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、函數(shù)ReadDat()的功能是實(shí)現(xiàn)從文件IN73.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中。請編制函數(shù)CovertCharD(),該函數(shù)的功能是:以行為單位把字符串中的所有小寫字母改成該字母的上一個(gè)字母,如果是字母a,則改成字母z。大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不變。把已處理的字符串仍按行重新存入字符串?dāng)?shù)組XX中,最后調(diào)用函數(shù)WriteDat()把結(jié)果XX輸出到文件OUT73.DAT中。例如:原文AdbBcdzaabckLLHj結(jié)果AcaBbcyz,ZabjLLgi原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號和空格。注意:部分源程序已給出。請勿改動(dòng)主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容。試題程序:#include<stdio.h>#include<string.h>#include<conio.h>charxx[50][80];intmaxline=0;intReadDat(void);voidWriteDat(void);voidCovertCharD(){}voidmain(){clrscr();if(ReadDat()){printf("數(shù)據(jù)文件IN7.DAT不能打開\n\007");return;}CovertCharD();WriteDat();}intReadDat(){FILE*fp;inti=0;char*p;if((fp=fopen("IN73.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(void){FILE;fp;inti:clrscr();fp=fopen("OUT73.DAT","N");for(i=0;i<maxline;i++){printf("%s\n",xx[i]);fprintf(fp,”%s\n",xx[i]);}fclose(fp);}標(biāo)準(zhǔn)答案:voidCovertCharD(){ihti;char*pf;for(i=0;i<maxline;i++){pf=xx[i];/*指針pf指向各行的首地址*/while(*pf)if(*pf==’a’)/*如果是字母a,則改成字母z*/{*pf=’z’;pf++;/*指向下一個(gè)字符*/}elseif(*pf>=’b’&&*pf<=’z’)/*小寫字母’b’到’z’,改成該字母的上一個(gè)字母*/{*pf-=1;pf++;/*指向下一個(gè)字符*/}elsepf++;/*如果不滿足條件,則不變字符,指向下一個(gè)字符*/}}知識(shí)點(diǎn)解析:本題考查的知識(shí)點(diǎn)如下:(1)字符串的計(jì)算。(2)循環(huán)結(jié)構(gòu)的使用。(3)使用指針實(shí)現(xiàn)對數(shù)組的訪問。本題中,將字符存放在二維數(shù)組中,以行為字符處理的基本單位,可以定義一個(gè)指針,指向每一行字符。初始時(shí),指針指向每一行的第一個(gè)元素,增加指針地址就可以實(shí)現(xiàn)對一行數(shù)據(jù)的完全訪問。要將所有小寫字母改成它的前一個(gè)字母,小寫字母的ASCⅡ碼是連續(xù)的,可直接將其ASCⅡ碼減1,則得要求的字符。注意;字母a要單獨(dú)處理,其他字符保持不變。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第8套一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:通過審題可以發(fā)現(xiàn)主要是排序條件的設(shè)置要求有所不同,參考答案的第6行,修改if條件語句的設(shè)置即可。國家三級(網(wǎng)絡(luò)技術(shù))機(jī)試模擬試卷第9套一、程序設(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ù)字均是0或2或4或6或8的數(shù),按照從大到小的順序存人數(shù)組outBuf[]中,并用count記錄下符合條件的數(shù)的個(gè)數(shù)。函數(shù)WriteData()負(fù)責(zé)將outBuf[]中的數(shù)輸出到文件OUT.DAT中并且在屏幕上顯示出來。注意;部分源程序已給出。程序中已定義數(shù)組;inBuf[200],outBuf[2

溫馨提示

  • 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

提交評論