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

下載本文檔

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

文檔簡介

國家三級(網(wǎng)絡技術)機試模擬試卷33(共9套)(共9題)國家三級(網(wǎng)絡技術)機試模擬試卷第1套一、程序設計題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有200個銷售記錄,每個記錄均由產(chǎn)品代碼ID(字符型4位)、產(chǎn)品名稱name(字符型10位)、單價price(整型)、數(shù)量amount(整型)、金額value(長整型)幾部分組成。其中;金額=單價×數(shù)量,函數(shù)ReadData()負責將IN.DAT中的數(shù)據(jù)讀到結構數(shù)組sell[]中。請編制函數(shù)sortData(),將各個記錄按產(chǎn)品代碼從小到大進行排列,若產(chǎn)品代碼相同,則按金額從大到小進行排列,并將排列后的結果存放到sell[]中。函數(shù)WriteData()負責將sell[]中的數(shù)據(jù)輸出到文件OUT.DAT中。注意;部分源程序已給出。請勿改動主函數(shù)main()、讀函數(shù)ReadData()和寫函數(shù)WriteData()的內容。試題程序;#include#include#include#include#defineMAX100typedefstruct{charID[5];//產(chǎn)品代碼charname[11];//產(chǎn)品名稱intprice;//單價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標準答案:voidsortData(){PRODUCTtemp;inti,j;memset(&temp,0,sizeof(temp));for(i=0;iO||(strcmp(sell[i].ID,sell[j].ID)==0&&sell[i]value知識點解析:本題考查的主要是結構數(shù)組排序的問題。所謂結構數(shù)組排序就是以結構某一元素為依據(jù)對結構數(shù)組進行排序。本題排序的思想是(以從小到大為例);將當前數(shù)據(jù)與其后的各個數(shù)據(jù)相比較,如果當前數(shù)據(jù)比其后的數(shù)據(jù)大,則將兩數(shù)據(jù)進行交換,從而使得前面的數(shù)據(jù)小于后面的數(shù)據(jù),最終達到從小到大排序的目的。但是由于結構不像變量那樣可以通過簡單的賦值來交換變量(如果要賦值的話需要對結構里的所有元素進行賦值替換,比較麻煩),所以在進行兩個相鄰結構交換時,要用到內存拷貝函數(shù)memcpy()來對內存的內容整體進行操作。國家三級(網(wǎng)絡技術)機試模擬試卷第2套一、程序設計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:①首先定義變量并賦值,包括表示級數(shù)的整型變量a1、a2,賦初值1,表示級數(shù)前n項的和s,其初值為2,表示級數(shù)的第n項t,循環(huán)變量i,級數(shù)n項賦初值1。②采用for循環(huán),循環(huán)變量i從0開始依次遞增到2。在循環(huán)體中對m的值擴大10倍,當級數(shù)前n項的和s小于m時,根據(jù)級數(shù)的第n項等于第n-2項與2倍的第n-1項的和,把表達式a1+2*a2的值賦給變量t。然后把級數(shù)前n-1項的和s加上第n項的值t賦給變量s,求得級數(shù)前n項的和賦給變量s。把n的值加1,在下次循環(huán)中計算級數(shù)第n+1項的值,把變量當前級數(shù)第n-1項的值a2賦給第n-2項a1,把當前的第n項t的值賦給第n-1項a2。當級數(shù)前n項的和s大于或等于m時,退出while循環(huán)。在屏幕上輸出變量m和n的值,并把求的n值賦給數(shù)組元素b[i],進入下一次for循環(huán)。國家三級(網(wǎng)絡技術)機試模擬試卷第3套一、程序設計題(本題共1題,每題1.0分,共1分。)1、已知數(shù)據(jù)文件IN82.DAT中存有300個4位數(shù),并已調用函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)isValue(),其功能是:求出這些4位數(shù)是素數(shù)的個數(shù)cnt,再求出所有滿足此條件的4位數(shù)的平均值pjz1,以及所有不滿足此條件的4位數(shù)的平均值pjz2,最后調用函數(shù)writeDat()把結果cnt,pjz1,pjz2,輸出到out82.dat文件中。例如:5591是素數(shù),則該數(shù)滿足條件,計算平均值pjz1,且個數(shù)cnt=cnt+1。9812是非素數(shù),則該數(shù)不滿足條件,計算平均值pjz2。注意:部分源程序已給出。程序中已定義數(shù)組:a[300],b[300],已定義變量:cnt,pjz1,pjz2。請勿改動主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內容。試題程序:#include<stdio.h>inta[300],cnt=0;doublepjz1=0.0,pjz2=0.0;intisP(intm){inti;for(i=2;i<m;i++)if(m%i==0)return0;return1;}voidjsValue(){}main(){inti;readDat();jsValue();writeDat();printf("cnt=%d\n滿足條件的平均值pjz1=%7.21f\n不滿足條件的平均值pjz2=%7.21f\n",cnt,pjz1,pjz2);}readDat(){FILE*fp;inti;fp=fopen("in82.dat","r");for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);fclose(fp);}writeDat(){FILE*fp;inti;fp=fopen("out82.dat","w");fprintf(fp,"%d\n%7.21f\n%7.21f\n",cnt,pjz1,pjz2);fclose(fp);}標準答案:voidjsValue(){inti;for(i=0;f<300;i++)if(isP(a[i]))/*如果該數(shù)為素數(shù)*/{pjz1+=a[i];/*將滿足條件的數(shù)求和*/cnt++;/*統(tǒng)計滿足條件的數(shù)的個數(shù)*/}elsepjz2+=a[i];/*將不滿足條件的數(shù)求和*/pjz1=pjz1/cnt;/*求滿足條件的數(shù)的平均值*/pjz2=pjz2/(3OO-cnt);/*求不滿足條件的數(shù)的平均值*/}知識點解析:本題考查的知識點如下:(1)循環(huán)結構的使用。(2)判斷結構的使用。在本題中,已給出判斷素數(shù)的函數(shù)isP(),只要依次將數(shù)據(jù)帶入即可。300個數(shù)據(jù)依次存入數(shù)組中,可以使用循環(huán)實現(xiàn)對數(shù)據(jù)的訪問。當數(shù)是素數(shù)時,求其和pjz1,并統(tǒng)計素數(shù)的個數(shù)。不是素數(shù)時,求和pjz2。最后將和除以個數(shù),即可得其平均值。國家三級(網(wǎng)絡技術)機試模擬試卷第4套一、程序設計題(本題共1題,每題1.0分,共1分。)1、已知數(shù)據(jù)文件IN76.DAT中存有200個4位數(shù),并已調用讀函數(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ù)中至少有一個數(shù)能被17整除,同時兩個新十位數(shù)字均不為0,則將滿足此條件的4位數(shù)按從大到小的順序存入數(shù)組b中,并要計算滿足上述條件的4位數(shù)的個數(shù)cnt,最后調用寫函數(shù)wfiteDat()把結果cnt及數(shù)組b中符合條件的4位數(shù)輸出到OUT76.DAT文件中。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],b[200],己定義變量:cnt。請勿改動主函數(shù)main()、讀函數(shù)madDat()和寫函數(shù)writeDat()的內容。試題程序:#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){}voidreadDat(){inti;FILE*fp;fp=fopen("IN76.DAT","r");for(i=0;i<MAX;i++)fscanf(fp,"%d",&a[i]);fclose(fp);}main(){inti;readDat();jsVal();printf("滿足條件的數(shù)=%d\n",cnt);for(i=0;i<cnt;i++)printf("%d",b[i]);printf("\n");writeDat();}writeDat(){FILE*fp;inti;fp=fopen("OUT76.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=0;i<200;i++){thou=a[i]/1000;/*求四位數(shù)的千位數(shù)字*/hun=a[i]%1000/100;/*求四位數(shù)的百位數(shù)字*/ten=a[i]%100/10;/*求四位數(shù)的十位數(shù)字*/dsta=a[i]%10;/*求四位數(shù)的個位數(shù)字*/ab=data*10+thou;/*把個位數(shù)和千位數(shù)組合成一個新的十位數(shù)ab*/cd=hun*10+ten;/*把百位數(shù)和十位數(shù)組成另一個新的十位數(shù)cd*/if((ab%17==0||cd%17==0&&((ab%2!=l&&cd%2==1)||(ab%2==1&&cd%2!=1))&&ab!=0&&cd!=0){/*如果新組成的兩個十位數(shù)必須是一個奇數(shù),另一個為偶數(shù)且兩個十位數(shù)中至少有一個數(shù)能被17整除,同時兩個新十位數(shù)字均不為0*/b[cnt]=a[i];/*則將滿足條件的數(shù)存入數(shù)組b中*/cnt++;/*統(tǒng)計滿足條件的數(shù)的個數(shù)*/}}for(i=0;i<cnt-1;i++)/*將數(shù)組b中的數(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ù)轉變成單獨的個位數(shù)。(2)判斷結構中多個條件的布爾運算。(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ù),否則為奇數(shù)。兩個數(shù)必須一個為奇數(shù),另一個為偶數(shù),這就有兩種情況;ad為奇數(shù),cd為偶數(shù);或者ab為偶數(shù),cd為奇數(shù)。兩者滿足一種即可,所以這兩種情況間用“或”運算。兩個數(shù)中至少有1個能被17整除,ab能被17整除與cd能被17整除兩個條件滿足一個即可,所以這兩個條件之間用“或”運算。但這個條件與其他條件必須同時滿足,所以此條件與其他條件之間用“與”運算。先將滿足條件的數(shù)存入數(shù)組b中,再對數(shù)組中的數(shù)據(jù)進行排序。最后的排序采用“選擇排序法”。國家三級(網(wǎng)絡技術)機試模擬試卷第5套一、程序設計題(本題共1題,每題1.0分,共1分。)1、已知數(shù)據(jù)文件in80.dat中存有300個4位數(shù),并已調用函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)isValue(),其功能是:求出個位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于0的個數(shù)cnt,再求出所有滿足此條件的4位數(shù)平均值pjz1,以及所有不滿足此條件的4位數(shù)平均值pjz2,最后調用函數(shù)writeDat()把結果cnt,pjz1,pjz2輸出到out80.dat文件。例如:1239,9-1-2-3>0,則該數(shù)滿足條件,計算平均值pjz1,且個數(shù)cnt=cnt+1。8129,9-8-1-2<0,則該數(shù)不滿足條件,計算平均值pjz2。注意:部分源程序已給出。程序中已定義數(shù)組:a[300],b[300],定義變量:cnt,pjz1,pjz2。請勿改動主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDa(()的內容。試題程序:#include<stdio.h>inta[300],cnt=0;doublepjzl=0.0,pjz2=0.0;voidjsValue(){}main(){inti;readDat();jsValue();writeDat();printf("cnt=%d\n滿足條件的平均值pjz1=%7.2If\n不滿足條件的平均值pjz2=%7.2If\n",cnt,pjz1,pjz2);}readDat(){FILE*fp;inti;fp=fopen{"in80.dat","r");for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);fclose(fp);}writeDat(){FILE*fp;inti;fp=fopen("out80.dat","w");fprintf(fp,"%d\n%7.21f\n%7.21f\n",cnt,pjzl,pjz2);fclose(fp);}標準答案:voidjsValue(){inti,thou,hun,ten,data,n=0;for(i=O;i<300;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ù)字*/if(data-thou-hun-ten>0)/*如果個位數(shù)減千位數(shù)減百位數(shù)大于0*/{cnt++;/*統(tǒng)計滿足條件的數(shù)的個數(shù)*/pjz1+=a[i];/*將滿足條件的數(shù)求和*/}else{n++;/*否則統(tǒng)計不滿足條件的數(shù)的個數(shù)*/pjz2+=aIi];/*將不滿足條件的數(shù)求和*/}pjz1/=cnt;/求滿足條件的數(shù)的平均值*/pjz2/=n;/*求不滿足條件的數(shù)的平均值*/}知識點解析:本題考查的知識點如下:(1)特殊運算符“%”及“/”的使用。(2)循環(huán)結構及選擇結構的使用?在本題中,首先要將一個4位數(shù)的千位、百位、十位、個位拆成獨立的數(shù)字。這里借助特殊運算符號“%”(取余)和“/”(整除),拆分方法略。然后判斷“個位數(shù)-千位數(shù)-百位數(shù)-十位數(shù)”的值是否大于0。依次求得符合條件的數(shù)的和及其平均值。國家三級(網(wǎng)絡技術)機試模擬試卷第6套一、程序設計題(本題共1題,每題1.0分,共1分。)1、請編寫函數(shù)findValue(int*result,int*amount),其功能是;求出1到1000之內能被7或11整除但不能同時被7和11整除的所有整數(shù)并存放在數(shù)組result中,并通過amount返回這些數(shù)的個數(shù)。注意;部分源程序已給出。請勿改動主函數(shù)main()和寫函數(shù)writeData()的內容。試題程序;#include#includevoidwriteData();voidfindValue(int*result,int*amount){}voidmain(){intresult[1000],amount,k;system("CLS");findValue(result,&amount);printf("amount=%d",amount);for(k=0;k標準答案:voidfindValue(int*result。int*amount){inti;*amount=0;//將計數(shù)器清零for(i=1;i<=1000;i++)//在1~1000中循環(huán)if((i%7==0&&i%11!=0)||(i%11==0&&i%7!=0))//如果滿足條件{result[*amount]=i;//將數(shù)據(jù)放人數(shù)組result中的第*amount位(*amount)++;//計數(shù)器加1}}知識點解析:若一個數(shù)m能被n整除,則有m%n==0。另外本題也考查了通過指針傳遞數(shù)據(jù)的方法。主函數(shù)將所要求子函數(shù)返回的變量的指針*result,*amount傳給子函數(shù),子函數(shù)通過對指針的操作直接將數(shù)據(jù)傳到變量當中,這也為子函數(shù)返回多值提供了一種方法。國家三級(網(wǎng)絡技術)機試模擬試卷第7套一、程序設計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:①首先定義循環(huán)變量i、j和表示字符串長度的整型變量strl。②在第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于或大于maxline,在循環(huán)體中,首先用函數(shù)strlen(original[i])計算字符串original[i]的長度,把這個值賦給整型變量strl。在第二層for循環(huán)中,循環(huán)變量j從0開始,依次遞增直到其值等于或大于strl,利用表達式original[i][j]+=original[i][j]>>4實現(xiàn)對字符original[i][j]的ASCII碼值右移4位后所得到值與原字符0riginal[i][j]的ASCII碼值相加,仍存入原字符串對應的位置上的功能。國家三級(網(wǎng)絡技術)機試模擬試卷第8套一、程序設計題(本題共1題,每題1.0分,共1分。)1、標準答案:知識點解析:①首先,本題要定義多個變量,包括兩個循環(huán)變量循環(huán)i、j,一個用于數(shù)據(jù)交換的整型變量ab,以及分別用來存放四位數(shù)分解之后各位數(shù)的變量qw(千位)、bw(百位)、sw(十位)和gw(個位)。②通過flor循環(huán)依次對數(shù)組中的每個四位數(shù)進行分解,每分解一個四位數(shù),根據(jù)題目要求,判斷其“千位<=百位<=十位<=個位”的條件是否滿足,并通過a[i]%2=0表達式判斷該四位數(shù)是否為偶數(shù),各判斷表達式之間用&&運算符進行連接,當滿足條件時,則將a[i]的值賦給數(shù)組變量b[cnt],同時數(shù)組下標變量cnt的值加1。循環(huán)結束后,所有滿足條件的四位數(shù)都將保存到數(shù)組b[cnq中。③將所有的四位數(shù)判斷完畢后,最后通過兩個for循環(huán),對b[cnt]數(shù)組中的元素按從小到大的順序排序。國家三級(網(wǎng)絡技術)機試模擬試卷第9套一、程序設計題(本題共1題,每題1.0分,共1分。)1、文件IN.DAT中存有N個實數(shù)(N<200),函數(shù)ReadData()負責將這N個實數(shù)讀人數(shù)組inBuf[]中。請編制程序calculate(),其功能要求;(1)求出這N個實數(shù)的平均值aver。(2)分別求出這N個實數(shù)的整數(shù)部分值之和sumint及其小數(shù)部分之和sumdec,最后調用函數(shù)WriteData()把所求的結果輸出到文件OUT.DAT中。注意;部分源程序已給出。請勿改動主函數(shù)main()、讀函數(shù)ReadDat

溫馨提示

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

評論

0/150

提交評論