版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
家三級信息管理技術(shù)機(jī)試模擬試卷2
(共9套)
(共9題)
明家三級信息管理技術(shù)機(jī)試模擬試卷第
1套
一、程序設(shè)計(jì)題(本題共[題,每題上0分,共1分。)
1、已知數(shù)據(jù)文件IN26.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這
此數(shù)存入數(shù)組a中。請編制一函數(shù)jsVal(),其功能是:把千位數(shù)字和個(gè)位數(shù)字重新
組成千個(gè)新的I位數(shù)(新I位數(shù)的I位數(shù)字是原4位數(shù)的千位數(shù)字,新I位數(shù)的個(gè)
位數(shù)字是原4位數(shù)的個(gè)位數(shù)字),把百位數(shù)字和十位數(shù)字組成另一個(gè)新的十位數(shù)(新
十位數(shù)的十位數(shù)字是原4位數(shù)的百位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原4位數(shù)的十位
數(shù)字),如果新組成的兩個(gè)十位數(shù)均是奇數(shù)并且兩個(gè)十位數(shù)中至少有一個(gè)數(shù)能被5
整除,同時(shí)兩個(gè)新十位數(shù)字均不為零,則將滿足此條件的4位數(shù)按從大到小的順序
存入數(shù)組b中,并要求計(jì)算滿足上述條件的4位數(shù)的個(gè)數(shù)cnl,最后調(diào)用寫函數(shù)
writeDat(),把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到OUT26.DAT文件中。
注意:部分源程序已給出。程序中已定義數(shù)組:a[2001,b[200],已定義變量:
ento請勿改動,主函數(shù)main。、讀函數(shù)readDat。和寫函數(shù)writeDal。的內(nèi)容。試題
程序:#includc<stdio.h>#dcfincMAX200inta[MAX],b|MAX],ent=0;void
jsVal(){}voidreadDal(){inii;FILE*fp;IP=fopen("IN26.DAT","r");for(i=0;i
(MAX;i++)fscanf(fp,"%d",&a[i]);fclose(fp);)main(){inti;readDat();jsVal();
prinlf("滿足條件的數(shù)二%d\n",ent);for(i=0;i(ent;i++)printf("%d",b[i]);printf
("\n");writeDat();}wrileDal(){FILE*fp;inti;fp=fopen("OUT26.DAT","w");
fprintf(fp,"%dkn'\ent);for(i=0;i(ent;i++)fprintf(fp."%dkn'\h|ij);fclose(fp);}
標(biāo)準(zhǔn)答案:voidjsVaI(){inti,thou,hun,ten,data,j;intab,cd;for(i=0;i<200;i++)
{thou=a[i]/1000;/*求千位數(shù)字*/hun=a|i]%1000/100;/*求百位數(shù)字*/
tcn=a[i]%100/10;/*求十位數(shù)字*/data=a[i]%10;/*求個(gè)位數(shù)字*/ab=10*thou+data;/*
把千位數(shù)字和個(gè)位數(shù)字重新組成一個(gè)新的十位數(shù)*/cd=10*hun+ten;/*把百位數(shù)字和
十位數(shù)字組成另一個(gè)新的十位數(shù)*/if(ab%2==l&&cd%2==l&&(ab%5==0||
cd%5==0)&&ab!=0&&cd!=0)b[cnt]=a[i];則把滿足條件的數(shù)存入數(shù)組b中*/}}
for(i=0;i<cnt-l;i++)/*將數(shù)組b的數(shù)按從大到小的順序排列*/for(j=i+l;j(ent;
j++)if(b[i]<b[j]){data=b[i];b[i]=b[j];b[j]=data;)}
知識點(diǎn)解析:本題看起似乎比較繁瑣,但只要仔細(xì)分析,把思路理清,還是不難解
決的。由題意可以列出解題步驟如卜.:(1)求得當(dāng)前所取得的整數(shù)的千位、百位、
十位、個(gè)位上的數(shù)字值。可以借助(除法)與"%''(取余)兩個(gè)運(yùn)算符。
<4thou=a[i]/1000:hun=a[i]%1000/100:ten=a[i]%100/10;data=a[i]%10;”這4條語
句可以依次取得原4位數(shù)的千位、百位、十位及個(gè)位上的數(shù)字值。(2)按照要求(第
一個(gè)十位數(shù):新十位數(shù)的十位數(shù)字是原4位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是
原4位數(shù)的個(gè)位數(shù);第二個(gè)十位數(shù):新十位數(shù)的十位數(shù)字是原4位數(shù)的百位數(shù)字,
新十位數(shù)的個(gè)位數(shù)字是原4位數(shù)的十位數(shù)字)把求得的各個(gè)位上的數(shù)字值組成兩個(gè)
新的十位數(shù)ab和cd,JI]**ab=10*thou+data;cd=10*hun+ten;”語句實(shí)現(xiàn)。(3)對新
組成的兩個(gè)十位數(shù)進(jìn)行條件判斷(判斷條件的語句是
“if(ab%2==1&&cd%2=1&&(ab%5=0||cd%5=0)&&ab!=0&&cd!=0)")。如果滿足
條件,則把原來的4位數(shù)放到數(shù)組b中,同時(shí)用一個(gè)計(jì)數(shù)器變量cm求出滿足條件
的4位數(shù)的個(gè)數(shù)。(4)對數(shù)分.b中的4位數(shù)用選擇法進(jìn)行從大到小的排序。
國家三級信息管理技術(shù)機(jī)試模擬試卷第
2套
一、程序設(shè)計(jì)題(本題共1題,每題1.0分,共I分。)
1、函數(shù)ReadDat。的功能是實(shí)現(xiàn)從文件ENG4.1N中讀取一篇英文文章,存入到字
符串?dāng)?shù)組xx中。請編制函數(shù)encryplChar。,按給定的替代關(guān)系對數(shù)組xx中的所有
字符進(jìn)行替代,結(jié)果仍存入數(shù)組xx對應(yīng)的位置上,最后調(diào)用函數(shù)WritcDat。把結(jié)
果xx輸出到之件PS4.DAT中。替代關(guān)系:f(p)=p*l1mod256(p是數(shù)組xx中某一
個(gè)字符的ASCII值,f(p)是計(jì)算后新字符的ASCII值),如果計(jì)算后f(p)的值小于等
于32或大于130,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代“注意:部
分源程序已給出。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符。請
勿改動主函數(shù)main。、讀函數(shù)ReadDal。和寫函數(shù)WriteDat()的內(nèi)容。試題程序:
#include<stdio.h>#include<string.h>#include<conio.h>#include<ctype.h>
unsignedcharxx[50][80];inimaxiine=0;/*文章的總行數(shù)*/intReadDat(void);void
WriteDat(void);voidencryptChar(){}main(){clrscr();if(ReadDat()){printf("數(shù)據(jù)文
件ENG4.IN不能打開!\n\0G7");return;}encryptChar();WriteDat();}intReadDat
(void){FILE*fp;inti=0;unsignedchar*p;if((fp=fopcn('ENG4.IN","r"))==NULL)
return1;\vhilc(fgcts(xx[i],80,fp)!=NULL){p=strchrjxx。:,'\n');if(p)*p=0;i++;}
maxline=i;fclose(fp);return0;}voidWritcDat(void){FILE*fp;inti;fp=
fopenCPS4.DAT","w");for(i=0;i<maxline;i++){printf("%s\n'\xx[il);fprintf(fp,
"%s\n",xx[i]);}fclose(fp);)
標(biāo)準(zhǔn)答案:voidencryplChar。{inii;char*pf;for(i=0;i<maxline;i++){Pf=xx(i!;
/*指針pf指向各行的首地址*/while(*pf!=0){if(*pf*l1%256>130||*pf*ll%256<
=32)/*如果計(jì)算后的值小于等于32或大于130*//*則該字符不變*/else
*pf=*pt*11%256;/*否則將所對應(yīng)的字符進(jìn)行替代*/pf++;/*指針pf指向下一個(gè)
字符*/}}}
知識點(diǎn)解析:本題主要考查用指針變量來控制字符數(shù)組,由于要對已有二維字符數(shù)
組的所有元素逐個(gè)處理,因此,需要定義一個(gè)字符指針變量來控制原二維數(shù)組的各
行,當(dāng)前行如果確定下來,用指針的移動就可以依次掃描該行的所有字符元素,每
得到一個(gè)字符就對它進(jìn)行條件判斷。根據(jù)題意,條件用“if(*pPHl%256>
130||*pf*ll%256V=32)”語句來實(shí)現(xiàn),如果該字符不滿足上述條件,就用一個(gè)新的
字符來替代,新的字符是空前的字符乘以11的結(jié)果再去與256求余數(shù)。處理完畢
后,指針去取下一個(gè)字符。如果該字符滿足所給條件,將不做任何操作,指針直接
下移,去取下一個(gè)字符,對下一個(gè)字符進(jìn)行處理。
國家三級信息管理技術(shù)機(jī)試模擬試卷第
3套
一、程序設(shè)計(jì)題(本題共,題,每題7.0分,共7分。)
1、請編制函數(shù)ReadDat。實(shí)現(xiàn)從文件IN93.DAT中讀取1000個(gè)十進(jìn)制整數(shù)到數(shù)組
xx中。請編制函數(shù)Compute。分別計(jì)算出xx中奇數(shù)的個(gè)數(shù)odd、偶數(shù)的個(gè)數(shù)
even>平均值aver及方套totfc的值,最后調(diào)用函數(shù)WfiteDat。把結(jié)果輸出到
A-1
totfc=V(x4i]-aver)2IN
OUT93.DAT文件中。計(jì)算方差的公式如下:金原始數(shù)據(jù)的
存放格式是:每行存放10個(gè)數(shù),并用逗號隔開(每個(gè)數(shù)均大于。且小于等于
2000)o注意;部分源程序己給出。請勿改動主函數(shù)main()和寫函數(shù)WriteDaiO的
內(nèi)容。試題程序:#include<stdio.h>#include<stdlib.h>#include<string.h>
#defineMAX1000intxx[MAX],odd=0,even=0;doubleaver=0.0.totfc=0.0;void
WriteDat(void);intReadDat(void)|FILE*fp;if((fp=fopenC'IN93.DAT'\"r"))==NULL)
return1;fclose(fp):return0;}voidCompute(void){}voidmain(){inti;for(i=0;i<
MAX;i++)xx[i]=0;if(ReadDat()){printf("數(shù)據(jù)文件M93.DAT不能打開!\007\n");
return;}Compute();
printf("ODD=%d\nEVEN=%d\nAVER=%lf\nTOTFC=%lf\n",odd,even,aver,totfc);
WiiteDat();}voidWriteDat(void){FILE*fp;inti;fp=fopen("OUT93.DAT","w");
fprintf(fp,"%d\n%d\n%lf\n%lf\n",odd,even,aver,totfc);fclose(fp);}
標(biāo)準(zhǔn)答豪:iniReadDat(void){FILE*fp;inti,j;
if((fp=fopcn("IN93.DAT","r"))==NULL)return1;for(i=0;i<100;i++){for(j=0;j<
1U;J++)fscanf(fp,"%d,”,&xx[i*10+j]);fscanf(fp,"/n");if(feof(fp))break;}fclose(tp);
return0;}voidCompute(void)(inti,yy|MAX|;for(i=0;i<IOOO;i++){if(xx|il%2!=0)
odd++;/*求出xx中奇數(shù)的個(gè)數(shù)odd*/elseeven++;/*求出xx中偶數(shù)的個(gè)數(shù)even*/
aver+=xx[i];/*求出xx中元素的總和*/}aver/二MAX:/*求出xx中元素的平均值*/
for(i=0;i<1000;i++)totfc+=(xx[i]-aver)*(xx[i]-aver)/MAX;|
知識點(diǎn)解析:本題考查的知識點(diǎn)如下:(1)從文件中讀取數(shù)據(jù)。(2)奇偶數(shù)的判斷和
方差的求法。在C語言中,有一結(jié)構(gòu)體類型FILE,其中包含文件的一些屬性信
息??啥x指針指向該結(jié)構(gòu)體,這個(gè)指針稱為文件指針。要從文件中讀取數(shù)據(jù),首
先要判斷該文件是否能以“讀”的方式打開。若能打開,使用函數(shù)intfscanf(FILE
*fp,char*formal,args)從fp所指向的文件中依次讀取數(shù)據(jù)《在本題中,數(shù)據(jù)的存
放很有規(guī)律,將數(shù)據(jù)讀出存入數(shù)組xx時(shí),只要控制數(shù)組下標(biāo)就可以了。若文件結(jié)
束,則退出讀取循環(huán)。最后要關(guān)閉文件。若一個(gè)數(shù)除以2取余得U,則該數(shù)是偶
數(shù),否則為奇數(shù)。由方差公式可知,這是求一些連續(xù)的數(shù)的表達(dá)式的值,所以可以
使用循環(huán)求得方差。
國家三級信息管理技術(shù)機(jī)試模擬試卷第
4套
一、程序設(shè)計(jì)題(本題共,題,每題7.0分,共7分。)
1、已知在文件IN34.DAT中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄由產(chǎn)品
代碼dm(字符型4位)、產(chǎn)品名稱me(字符型10位)、單價(jià)dj(整型)、數(shù)量si(整
型)、金額je(長整型)幾部分組成。其中,金額=單價(jià)x數(shù)量可計(jì)算得出。函數(shù)
ReadDatO的功能是讀取這100個(gè)銷售記錄并存入數(shù)組sell中。請編制函數(shù)
SortDatO,其功能要求;按產(chǎn)品代碼從大到小進(jìn)行捧列,若產(chǎn)品代碼相同,則按金
額從大到小進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)
wriieDal。把結(jié)果輸出到文件OUT34.DAT中。注意:部分源程序已給出。請勿改
動主函數(shù)main。、讀函數(shù)RdadDat。和寫函數(shù)WriteDat。的內(nèi)容V試題程序:
#include<stdio.h>#inckide<mem.h>#include<string.h>#include<conio.h>
#include<stdlib.h>#defineMAX100typedefstruct{chardml5];charmc[l1];intdj;
intsi;longje;|PRO;PROsell[MAX];voidReadDatO;voidWriteDal();voidSortDatO
{}voidmain(){memset(sell,0,sizeof(sell));ReadDa(();SortDatO;WriteDatO;}void
ReadDatO{FILE*fp;charsir[80],ch[H];inti;fp=fopcn("IN34.DAT';"r");for(i=0;i<
100;i++){fgets(str,80,fjp);memcpy(sell[i].dm,str,4);memcpy(sell[ij.mc,str+4,10);
memcpy(ch,str+14,4);ch|4]=0;sell[i].dj=atoi(ch);memepy(ch,str+18,5);ch[5]=0;
sell[i].sl=atoi(ch);sell[i].je=(long)sell[i].dj*sell[i].sl;)fclose(fp);)voidWriteDatO
{FILE*fp;inti;fp二fopen("OUT34.DAT\"w");for(i=0;iV100;i++)
{fprintf(fp,M%s%s%4d%5c%10ld\n'\sell[i].dm,scll[i].mc,scll[i].dj,sell[i].sl,
sell[i].je);}fclose(fp);}
標(biāo)準(zhǔn)答案:voidSortDaK){inti,j;PROxy;for(i=0;i<99;i++)for(j=i+I;j<100;j++)
{if(strcmp(seH[i].dm,seH[j].dm)VO)/*按產(chǎn)品代碼從大到小進(jìn)行排列*/{xy=sell[i];
sell[i]=sell[j];sell[j]=xy;}elseif(strcmp(sell[i].dm.seH[j].dm)==0)/*若產(chǎn)品代碼相同
*/if(sell[i].je<sell[j]Je)/*則按金額從大到小進(jìn)行排列*/{xy=seli[i];sell[i]=sell[j];
sell[j]=xy;}}
知識點(diǎn)解析:本題考查的知識點(diǎn)如下:(1)結(jié)構(gòu)體及結(jié)構(gòu)數(shù)組。(2)結(jié)構(gòu)數(shù)組的排
序。(3)字符型數(shù)組的比較,本題著重考查結(jié)構(gòu)體變量的訪問、賦值,包括結(jié)構(gòu)體
本身及結(jié)構(gòu)體中各個(gè)成員的訪問和賦值。根據(jù)題意要求,我們首先要比較產(chǎn)品代
碼。因?yàn)楫a(chǎn)品代碼為字符型,所以不能使用簡單的比較運(yùn)算符進(jìn)行比較。在這里,
我們使用了字符中處理函數(shù)strcmp(char*strll,char*str12,unsignedintcoul)對其進(jìn)行
比較。對于比較結(jié)果,若是代碼相同,則要按照金額進(jìn)行新的比較,否則可直接存
入數(shù)組。因?yàn)橐讯x了結(jié)構(gòu)數(shù)組,就可以使用循環(huán)進(jìn)行比較排序。排序同樣采用前
面介紹的“選擇排序法”。
家三級信息管理技術(shù)機(jī)試模擬試卷第
5二
一、程序設(shè)計(jì)題(本題共/題,每題上。分,共1分。)
1、已知數(shù)據(jù)文件IN68.DAT中存有200個(gè)4位數(shù),并已調(diào)用讀函數(shù)readDat。把這
些數(shù)存入數(shù)組a中,請編制一函數(shù)jsVal(),其功能是:如果4位數(shù)各位上的數(shù)字均
是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cni,并把這些4位數(shù)按從大到小的順序存入
數(shù)組b中。最后調(diào)用函數(shù)writeDat。把結(jié)果ent及數(shù)組b中符合條件的4位數(shù)輸出到
OUT68.DAT文件。注意:部分源程序已給出。程序中已定義數(shù)組:a[200],
b[200],已定義變量:cnl。請勿改動主函數(shù)main。、讀函數(shù)readDat。和寫函數(shù)
writeDat。的內(nèi)容。試題程序:#inckide<stdio.h>#defineMAX200inta[MAX],b
[MAX].cnt=O:voidjsVal(){}voidreadDat(){inti:FILE*fp;fp=fopen("IN68.
DAT","r");for(i=0;i<MAX;i++)fscanf(fp,H%d",&a[i]);fclose(fp);}voidmain()
{inti;readDat();jsVai();printf("滿足條注的數(shù)二%d\n",ent);for(i=0;i<cnt;i++)
printfCW;blil);printf("\n");writeDat();)writeDat()(FILE*fp;inti;fp=fopen
("out68.dat","w");fprintf(fp,"%d\n",ent);for(i=0;i<cnt;i++)fprintf(fp,
"%d\nM,b[i]);fclose(fp);|
標(biāo)準(zhǔn)答案:voidjsVal(){inti,thou,hun,ten,data,j;for(i=O;i<200;i++){thou=a
liJ/1000;/*求四位數(shù)的千位數(shù)字刃hun=a[i]%1000/100;/*求四位數(shù)的百位數(shù)字*/
ten=a[i]%100/10;/*求四位數(shù)的十位數(shù)字data=a[i]%10:/*求四位數(shù)的個(gè)位數(shù)字*/
if(thou%2!=0&&hun%2'=0&&ten%2!=0&&dala%2!=0)/*如果4位數(shù)各位上的數(shù)
字均是奇數(shù)*/{b[ent]=a[i];/*將滿足條件的數(shù)存入數(shù)組b"藤/cnt++;/*將滿足條
件的數(shù)的個(gè)數(shù)3)}for(i=0;i<cnt-l;i++)尸將數(shù)組b中的數(shù)按從大到小的順序排
列*/for(二i+1;jVcnt;j++)if(b[i]<b|j]){data=b[i];b[i]=b[j];b[j]=data;)}
知識點(diǎn)解析:本題考查的知識點(diǎn)如下:(1)"%”與"/”的使用。(2)循環(huán)結(jié)構(gòu)與判斷結(jié)
構(gòu)的使用。(3)數(shù)據(jù)的排序。本題中,首先借助“%”與“尸將4位數(shù)各位上的數(shù)拆成
獨(dú)立的數(shù)字:將1個(gè)4位數(shù)整除1000則可得到其千位上的數(shù)字,除以1000取余再
整除100則可得百位上的數(shù)字,除以100取余再整除10則可得十位上的數(shù)字,除
以10取余則得個(gè)位上的數(shù)字。1個(gè)數(shù)除以2取余所得的數(shù)不等于0,則此數(shù)是奇
數(shù)。題中要求將符合條件改4位數(shù)按從大到小的順序存入數(shù)組b中,我們可以先將
符合條件的4位數(shù)存入數(shù)組b,然后對b中的數(shù)進(jìn)行排序。排序使用“選擇排序
法”。
國家三級信息管理技術(shù)機(jī)試模擬試卷第
6套
一、程序設(shè)計(jì)題(本題共7題,每題7.0分,共7分。)
1、已知在文件IN5.DAT中存有100個(gè)產(chǎn)品銷售記錄,每個(gè)產(chǎn)品銷售記錄由產(chǎn)品代
碼dm(字符型4位)、產(chǎn)品名稱me(字符型10位)、單價(jià)dj(整型)、數(shù)量si(整型)、
金額je(長整型)五部分組成。其中:金額=單價(jià)x數(shù)量。函數(shù)ReadDat。的功能是讀
取這100個(gè)銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SorlDaK),其功能要求:
按金額從大到小進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從小到大進(jìn)行排列,最終排
列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat。死結(jié)果輸出到文件
OUT5.DAT中。注意:部分源程序已給出。請勿改動主函數(shù)main。、讀數(shù)據(jù)函數(shù)
ReadDat()和輸出數(shù)據(jù)函數(shù)\VritcDat()的內(nèi)容。[試題程序]#includc#includc#inciude
#include#include#defineMAX100typedefstruct{chardm[5];/*產(chǎn)品代碼*/
charmc"1];/*產(chǎn)品名稱*/in:dj;/*單價(jià)號ints1;/*數(shù)量*/longje;/*金額*/}PRO;PRO
sell[MAX];voidReadDat();voidWriteDatO;voidSortDat(){}voidmain()
{memse((sell,0,sizeof(sell));ReadDat();SortDatO;WriteDat();}voidReadDat(){FILE
*fp;charstr[80],ch[ll];inti;fp=fopen(,'IN5.DAT","r");for(i=0;i<100;i++)
{fgets(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].mc,str+4,10);
memcpy(ch.slr+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch,str+18,5);ch[51=0;
sell[i].sl=atoi(ch);sell[il.je=(long)sell[i].dj*sell[i].sl;}fclose(fp);}voidWriteDat(void)
{FILE*fp;inti;fp=fopcn(,'OUT5.DAT,,,,,w,');for(i=0;i<100;i++)
fprintf(fp;'%s%s%4d%5d%101d\nM,sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,selI[i].je);
fclose(fp);}
標(biāo)準(zhǔn)答案:voidSortDat(){inti,j;PROxy;for(i=O;i<MAX-1;i++)for(j=i+l;j<
MAX;j++){if(se川i].je<sell[j].je)/*按金額從大到小進(jìn)行排列*/
{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}elseif(sell[i].je==sell[j].je)/&若金額相同*/
if(sircmp(sell[i].dm,sell[j].dm)AO)/*則按代碼從小到大進(jìn)行排列*/
{xy=selHil;sell[i]=sell[j];sell[j]=xy;)})
知識點(diǎn)解析:此題型考查的知識點(diǎn)包括以下幾方面:(1)結(jié)構(gòu)體數(shù)組的排序;(2)結(jié)
構(gòu)體及結(jié)構(gòu)體數(shù)組的相關(guān)操作;(3)字符型數(shù)組的比較;(4)C語言庫函數(shù)的使用
(如函數(shù)strcmpO)。此題按金額從大到小進(jìn)行排列,若金領(lǐng)相等,則按產(chǎn)品代碼從
小到大進(jìn)行排列,相應(yīng)語句為:if((ssll[i].je<sell[j].je)||((sell[i].je==sell|j].je)&
&(strcinp(sell[i].dm,sell[j].dm)>O)))
國家三級信息管理技術(shù)機(jī)試模擬試卷第
7套
一、程序設(shè)計(jì)題(本題共7題,每題7.0分,共I分。)
1、已知數(shù)據(jù)文件IN11.DAT中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)rcadDat()把這
些數(shù)存入數(shù)組a中。請編制一個(gè)函數(shù)jsVakic。,其功能是:求出千位數(shù)上的數(shù)加個(gè)
位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(shù)ent,再把所有滿足條件的四
位數(shù)依次存入數(shù)組b中,然后對數(shù)組b中的四位數(shù)按從小到大的順序進(jìn)行排序,最
后調(diào)用寫函數(shù)writeDat。把數(shù)組b中的數(shù)輸出到OUTI1.DAT文件。例如:6712,
64-2=7+1,則該數(shù)滿足條件存入數(shù)組bb中,且個(gè)數(shù)cnl=cM+l。8129,
8+9/1+2.則該數(shù)不滿足條件,忽略。注意:部分源程序已給出。程序中已定義數(shù)
組:a[300Lb[300];已定義變量:ent。請勿改動主函數(shù)main。、讀函數(shù)readDat。和
寫函數(shù)writeDai。的內(nèi)容。[試題程序]#include<stdio.h>inta[300],b[300],cnt=0;
voidjsValue(){}main(){inti:readDat():jsValue();writeDat();for(i=0;i<
cn;i++)printf("b[%d]=%d\nu,i,b[i]);}readDat(){FILE*fp;inti;
fp={open("INI1.DAT",V);for(i=0;i<300;i++)fscanf(fp,',%d;,,&a|i]);
fclose(fp);|writeDat(){FILE*fp:Inti;fp=fopen("OUTlLDAT”JWt”);
fprmt{(fp,"%d\n",cnt):for(i=0;i<cnt;i++)fPrIntf(fp;'%d\n,f,b[i]):fclose(fp):}
標(biāo)準(zhǔn)答案:voidjsValueO{int1,thou,hun,ten,dataj;for(i=0;i<300;i++))
thou=a[i]/1000;/*取得四位數(shù)的千位數(shù)字*/hun=a[i]%1000/100:/*取得四位數(shù)的
百位數(shù)字*八en=a[i[%100/10;/*取得四位數(shù)的十位數(shù)字*/(^3=@川%10;/*取得四
位數(shù)的個(gè)位數(shù)字*/if(thou+data==hun+ten){b[cnt]=a[i];cnt++;}}for(i=0;i<ent-1;i++)
/*將數(shù)組b中的四位數(shù)按從小到大的順序進(jìn)行排序*/for(j=i+l;jVcnl;j++)if(b[i]>
b|jl){data=b|ij;b[ij=blj|;b|jl=data:}(此題型考查的知識點(diǎn)包括以下幾方面:
(1)運(yùn)算符“廣(相除)和“%''(取余)的靈活運(yùn)用;(2)循環(huán)結(jié)構(gòu)的使用;(3)數(shù)據(jù)的排序
(在這里主要是使用選擇排序法);(4)選擇結(jié)構(gòu)的使用。此函數(shù)的功能是:將滿足
“千位數(shù)十個(gè)位數(shù)二百位數(shù)+十位數(shù)”的四位數(shù)依次存入數(shù)組b中,然后對數(shù)組b中的
四位數(shù)按從小到大的順序進(jìn)行排序。
知識點(diǎn)解析:暫無解析
國家三級信息管理技術(shù)機(jī)試模擬試卷第
8套
一、程序設(shè)計(jì)題(本題共7題,每題7.0分,共7分。)
1、已知數(shù)據(jù)文件INIO.DAT中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat。把這
些數(shù)存入數(shù)組a中,請編制一個(gè)函數(shù)jsVakieO,其功能是:求出千位數(shù)上的數(shù)減百
位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位數(shù)上的數(shù)大于零的個(gè)數(shù)ent,再把所有滿足此條
件的四位數(shù)依次存入數(shù)組b中,然后對數(shù)組b中的四位數(shù)按從小到大的順序進(jìn)行排
序,最后調(diào)用寫函數(shù)writeDat。把數(shù)組b中的數(shù)輸出到OUT10.DAT文件。例如:
9123,9?1?2?3>0,則該數(shù)滿足條件存入數(shù)組b,且個(gè)數(shù)cnNcnt+L9812,9-8-1-2<
0,則該數(shù)不滿足條件,忽略。注意:部分源程序已給出。程序中已定義數(shù)組:
a[3OO],b[3OO]:已定義變量:ent。請勿改動主函數(shù)main。、讀函數(shù)readDat()和寫函
數(shù)writeDat。的內(nèi)容。[試題程序]#include<stdio.h>inia[300],b[300],cnt=0;
jsValuc(){}main(){inti;rcadDat();jsValuc();writcDat();for(i=0:i<cnt;
i++)prmtf("b[%d]=%d\n",i,b[i]):}readDat(){FILE*fp;inti;
fp=fopen("IN10.DAr;"r");for(i=0;i<300;i++)fscanf(fP."%d,",&a[i]);
,,
fclose(fp);}writeDat()}FILE*fp;inti;fp={opcn("OUT10.DAT","w);
fprint{(fP/'%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);}
標(biāo)準(zhǔn)答案:jsValue。{inti,thou,hun,len.dala,j;for(i=0;i<300;i++)
{thou=a[i]/1000:/*取得四位數(shù)的千位數(shù)字*/himna[i]%1000/100;/*取得四位數(shù)的
百位數(shù)字=a[i]%100/10;/*取得四位數(shù)的十位數(shù)字*/dala=a[i]%10;/*取得四
位數(shù)的個(gè)位數(shù)字*/if(thou-hun-ten-dala>0)[b[cnt]=a[i];;cni++;}}for(i=0;i<cnt-
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源行業(yè)技術(shù)員面試題集與答案
- 深度解析(2026)《GBT 19163-2010牛蛙》
- 創(chuàng)新思維與問題解決方法創(chuàng)意設(shè)計(jì)含答案
- 年產(chǎn)xxx保險(xiǎn)片項(xiàng)目可行性分析報(bào)告
- 帶式干燥機(jī)項(xiàng)目可行性分析報(bào)告范文
- 深度解析(2026)《GBT 18978.171-2024人-系統(tǒng)交互工效學(xué) 第171部分:軟件無障礙設(shè)計(jì)指南》
- 交通儀器儀表項(xiàng)目可行性分析報(bào)告范文
- 草皮項(xiàng)目可行性研究報(bào)告(立項(xiàng)備案申請)
- LED射燈項(xiàng)目可行性分析報(bào)告范文
- 特殊人群社區(qū)慢性病管理的質(zhì)量控制策略
- 交款合同范本
- 安全生產(chǎn)法律法規(guī)匯編(2025版)
- 《軟件工程竣工驗(yàn)收指南》
- 《鐵路軌道維護(hù)》課件-更換道岔尖軌作業(yè)
- 病理生理學(xué)(南華大學(xué))知到智慧樹章節(jié)答案
- 《特種設(shè)備重大事故隱患判定標(biāo)準(zhǔn)》培訓(xùn)
- 森林資源動態(tài)監(jiān)測
- 氣血疏通中級班教材
- 云南中煙公司招聘筆試真題
- 售后服務(wù)技巧提升售后服務(wù)的滿意度
- 汽車銷售實(shí)務(wù)(第3版)課件 學(xué)習(xí)情境七 車輛交付
評論
0/150
提交評論