2022年廣東省東莞市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第1頁
2022年廣東省東莞市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第2頁
2022年廣東省東莞市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第3頁
2022年廣東省東莞市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第4頁
2022年廣東省東莞市全國計(jì)算機(jī)等級考試數(shù)據(jù)庫技術(shù)真題(含答案)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022年廣東省東莞市全國計(jì)算機(jī)等級考試

數(shù)據(jù)庫技術(shù)真題(含答案)

學(xué)校:班級:姓名:考號(hào):

一、1.選擇題(10題)

1.儲(chǔ)蓄所有多個(gè)儲(chǔ)戶,儲(chǔ)戶在多個(gè)儲(chǔ)蓄所存取款,儲(chǔ)蓄所與儲(chǔ)戶之間是

()o

A.一對一的聯(lián)系B.一對多的聯(lián)系C.多對一的聯(lián)系D.多對多的聯(lián)系

2.操作系統(tǒng)的發(fā)展過程是()

A.設(shè)備驅(qū)動(dòng)程序組成的原始操作系統(tǒng),管理程序,操作系統(tǒng)

B.原始操作系統(tǒng),操作系統(tǒng),管理程序

C.管理程序,原始操作系統(tǒng),操作系統(tǒng)

D.管理程序,操作系統(tǒng),原始操作系統(tǒng)

3.用下列4種排序方法,對一個(gè)已排好序(由小到大)的序列進(jìn)行排序(由

小到大),哪種方法最好?

A.冒泡排序B.直接選擇排序C直接插入排序D.歸并排序

4.單向鏈表的每一個(gè)結(jié)點(diǎn)都有一個(gè)指向它的后續(xù)結(jié)點(diǎn)的指針link,現(xiàn)有

結(jié)點(diǎn)P和q,要將q插入結(jié)點(diǎn)p的后面,正確的操作應(yīng)該是

A.qT.link:=pT.link;pT.link:=q;

B.q:=pT.link;pf.link:=qT」ink;

C.qT.link:=p;p^.link:=q;

D.q:=P[.link;p:=q^link;

5.解決內(nèi)存碎片的通常的手法,是把所有的空閑區(qū)合并成一片連續(xù)區(qū)域,

這一過程稱為O

A.合并B.內(nèi)存回收C.緊湊D.碎片整理

6.在下列線性表中,限定僅在表的一端進(jìn)行插入和刪除運(yùn)算的線性表是

A.隊(duì)列B.棧C.串D.數(shù)組

7.在數(shù)據(jù)庫的三級模式結(jié)構(gòu)中,外模式有

A.1個(gè)B.2個(gè)C.3個(gè)D.任意多個(gè)

8.用高級語言編寫的程序

A.只能在某種計(jì)算機(jī)上運(yùn)行B.無需經(jīng)過編譯或解釋,即可被計(jì)算機(jī)直

接執(zhí)行C.具有通用性和可移植性D.幾乎不占用內(nèi)存空間

9.限制關(guān)系模式的屬性之間不允許有非平凡且非函數(shù)依賴的多值依賴

的是O

A.4NFB.2NFC.3NFD.BCNF

10.下列問題基于以下的敘述:關(guān)系模式R(B,C,M,T,A,C),根據(jù)

語義有如下函數(shù)依賴集:F={B-C,(M,T)-B,(M,C)-T,

(M,A)-*T,(A,B)->C}O

關(guān)系模式R的碼是

A.(M,T)B.(M,C)C,(M,A)D,(A,B)

二、填空題(10題)

11.有關(guān)鍵碼值為15,25,40的三個(gè)結(jié)點(diǎn)。按所有可能的插入順序去構(gòu)

造二叉排序樹,能構(gòu)造出_____棵不同的二叉排序樹。

12.運(yùn)行IP協(xié)議的Internet可以為其高層用戶提供的、面向

無連接的、盡最大努力的數(shù)據(jù)報(bào)投遞服務(wù)。

13.在【】數(shù)據(jù)庫系統(tǒng)中,每一個(gè)結(jié)點(diǎn)都是一個(gè)獨(dú)立的數(shù)據(jù)庫系統(tǒng)

14.SQLSERVER2000與COMMERCESERVER2000集成,支持完整

的點(diǎn)擊流和數(shù)據(jù)分析。

15.一個(gè)SQL語句原則上可產(chǎn)生或處理一組記錄,而主語言一次只能處

理一個(gè)記錄,為此必須協(xié)調(diào)兩種處理方式,這是通過使用機(jī)制來

解決的。

16.用戶檢索POP3郵件服務(wù)器的過程可以分成3個(gè)階段:

事務(wù)處理階段、更新階段。

17.數(shù)據(jù)模型可分為概念數(shù)據(jù)模型和【】模型。

18.頂級域的劃分模式為組織模式和

19.隊(duì)列是限制插入只能在表的一端進(jìn)行的線性表,其特點(diǎn)是【】

20.電子郵件程序向郵件服務(wù)器發(fā)送郵件時(shí),使用的協(xié)議是

三、單選題(10題)

21.在SQLServer2008的系統(tǒng)數(shù)據(jù)庫中,為調(diào)度信息和作業(yè)歷史提供存

儲(chǔ)區(qū)域的是

A.MasterB.ModelC.PubsD.Msdb

22.把電路中的所有元件如晶體管、電阻、二極管等都集成在一個(gè)芯片上

的元件稱為()

A.TransistorB.IntegratedCircuitC.ComputerD.VacummTube

23.某單道批處理系統(tǒng)中有四個(gè)作業(yè)J0B1、JOB2、JOB3和JOB4,它

們到達(dá)“輸入井”的時(shí)刻和需要的運(yùn)行時(shí)間如下表所示:

作業(yè)進(jìn)入系統(tǒng)時(shí)間估計(jì)運(yùn)行時(shí)間(分鐘)

J0B18:3080

J0B28:5020

J0B39:2040

J0B49:3035

假設(shè)9:30開始進(jìn)行作業(yè)調(diào)度,按照最高響應(yīng)比作業(yè)優(yōu)先算法,首先被調(diào)

度的作業(yè)是

A.J0B1B.J0B2C.J0B3D.J0B4

24.下列關(guān)于SQLServer數(shù)據(jù)庫服務(wù)器登錄賬戶的說法中,錯(cuò)誤的是

O

A.登錄賬戶的來源可以是Windows用戶,也可以是非Windows用戶

B.所有的Windows用戶都自動(dòng)是SQLServer的合法賬戶

C.在Windows身份驗(yàn)證模式下,不允許非Windows身份的用戶登錄到

SQLServer服務(wù)器

D.sa是SQLServer提供的一個(gè)具有系統(tǒng)管理員權(quán)限的默認(rèn)登錄賬戶

25.下列SQLServer提供的系統(tǒng)角色中,具有數(shù)據(jù)庫服務(wù)器上全部操作

權(quán)限的角色是__________O

A.db_ownerB.dbcreatorC.db_datawriterD.sysadmin

26.關(guān)于水平分割說法錯(cuò)誤的是:()

A.根據(jù)行的使用特點(diǎn)進(jìn)行分割

B.分割之后所有表的結(jié)構(gòu)都相同。

C而存儲(chǔ)的數(shù)據(jù)不同。使用并(Union)操作。

D.使用連接(Join)操作

27.對具有相同關(guān)鍵字的關(guān)系模式,如果他們的處理主要是查詢操作,

且常在一起,可將這列關(guān)系模式進(jìn)行什么操作?

A.模式評價(jià)B.優(yōu)化模式C.合并D.分解

28.E-R圖是數(shù)據(jù)庫設(shè)計(jì)的工具之一,它適用于建立數(shù)據(jù)的()

A.中繼器B.橋接器C.路由器D.網(wǎng)關(guān)

29.在SQLSever中創(chuàng)建用戶數(shù)據(jù)庫,其主要數(shù)據(jù)文件的大小必須大于

A.master數(shù)據(jù)庫的大小B.model數(shù)據(jù)庫的大小C.msdb數(shù)據(jù)庫的大小

D.3MB

30.下列關(guān)于時(shí)鐘的敘述中,哪一條是不正確的?()

A.A.時(shí)鐘中斷可以屏蔽

B.時(shí)鐘是操作系統(tǒng)運(yùn)行的必要機(jī)制

C.時(shí)鐘可以分成硬件時(shí)鐘和軟件時(shí)鐘

D.利用時(shí)鐘中斷可以實(shí)現(xiàn)進(jìn)程的輪轉(zhuǎn)運(yùn)行

四、C語言程序設(shè)計(jì)題(10題)

31.

函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章存入到字符串?dāng)?shù)

組XX中,請編制函數(shù)ConvertCharD,其函數(shù)的功能是:以行為單位把

字符串中的所有小寫字母改寫成該字母的上一個(gè)字母,如果是字母a,

則改寫成字母z,其他字符保持不變。把已處理的字符串仍按行重新存

入字符串?dāng)?shù)組xx中。最后main函數(shù)調(diào)用函數(shù)WriteDat把結(jié)果xx輸出

到文件out.dat中。例:原文:Adb.Bcdza

abck.LLhj結(jié)果:Aca.Bbcyzzabj.LLgi原始數(shù)據(jù)文件存放的格式是:

每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格。

注意:部分源程序存放在test.c文件中。

請勿改動(dòng)主函數(shù)main、讀函數(shù)ReadDatO和輸出函數(shù)WriteDat的內(nèi)容。

2itinclude<string.h>

4?Intmaxline-0;/?文聿的總行IS?/

5?intReadDat(void);

6;voidWriteDat(void);

!,?以后為?位忙字符串中的析科小耳學(xué)用改寫成力學(xué)陽的上一個(gè)字用,如量能?用M修改寫A字艱加M他字符保》不克?/

7?voidConvertCharD(void)

8

9

10

11;voidmain()

12\I

13?if(ReadDatO)

14I(

15printf("數(shù)據(jù)文件in.dat不能打開!\n\007");

16return;

17|I

18?ConvertCharD(>;

19\WriteDatO;

20!J

;“從文件m&t中it以?英文文拿存入期字符mxx中。/

21!intReadDat(void)

I

22?(

23!FILE-fp;

24iint1-0;

25char*p;

26?if((fp-fopen("ln.dat*r*r**))-NULL)

27return1;

28?while(fget3(xx[1],80?fp)!?NULL)

29j(

30p?strcbr(xx(1],*\n?I;

31if(p)*p?0;

32!?*;

33

34;tnaxline■i;

35!fclose(fp);

36jreturn0;

37

;/結(jié)果H■巾*文件am中?/

38\voidWriteDat(void)

39)(

40FILEefp;

41*inti;

42fp-topen(wout.dat*,"w**);

43for(1-0;1<moxllno;)

44i(

45printfxx(1|;

46fprintf(fpr"IsXn",xx(i));

47

48?fcloae(fp);

49

32.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat

把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal,其功能是:從數(shù)組a

中依次取出一個(gè)四位數(shù),對每一個(gè)四位數(shù)作如下處理:把個(gè)位數(shù)字和千

位數(shù)字重新組成一個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)字是原四位

數(shù)的個(gè)位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的千位數(shù)字),以及把百位數(shù)

字和十位數(shù)字組成另一個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)字是原

四位數(shù)的百位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),如果兩個(gè)

新組成數(shù):一個(gè)是奇數(shù),另一個(gè)為偶數(shù),并且至少有一個(gè)數(shù)能被17整

除,同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)存入

數(shù)組b中,并計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent,而后對數(shù)組b進(jìn)

行降序排序。最后main函數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b

中符合條件的四位數(shù)輸出到out.dat文件中。

例如:一個(gè)四位數(shù)為4512,依題意組成的第一個(gè)新數(shù)為24,第二個(gè)新

數(shù)為51,其中51能被17整除,這兩個(gè)新數(shù)的十位數(shù)字不為零,則4512

這個(gè)四位數(shù)滿足題意所規(guī)定條件。

注意?部分源程序存在teste文件中.

程序中已定義數(shù)組:a[200].b[200],已定義變ent

請勿改動(dòng)數(shù)據(jù)文件in.dai中的任何數(shù)據(jù)?主數(shù)main。、讀函數(shù)rcadDai()和寫函數(shù)writeDat。的內(nèi)容.

1!*include<stdio.h>

2?fdefineMAX200

3-inta[MAX],b(MAX],ent?0;

4!voidwriteDat();

5?voidjsVal()

6\I

7j

8;I

9!voidrcadDatO〃從in.dat文件中請取20。個(gè)網(wǎng)位數(shù)付入效爆a中

10

11int1;

12FILETp;

13fp-fopen("in.dat**,;

14for(i-0;i<MAX;

15fscanf(fp^

16fclose?fp);

17

18?voidmain()

20;inti;

21!readDat();

22;jsValO;〃?用吮敗。實(shí)班虐月要求的功能

23jprintf("滿足條件的數(shù)"d\n”,ent);

24?for(i?0;i<ent;

wH

25;printf(%d9b(i]);

261printf;

27jwriteDat();

28;1

29?voidwriteDat()〃把計(jì)算結(jié)裳6t以及被fitb中符合條件的四位數(shù)?出到w4M文件中

30\[

31?FILE*fp;

32Iint1;

33;fp-fopenLout.daL,;

w

34!fprintf(fprid\n"?ent);

35jfor(i?0;i<ent;£+?)

w

36\fprintf(fpr**%d\nrb[i]);

37!fcloae(fp);

38\]

33.已知數(shù)據(jù)文件indat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDatO

把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal,其功能是:依次從數(shù)

組a中取出一個(gè)四位數(shù),如果該四位數(shù)大于該四位數(shù)以后的連續(xù)五個(gè)數(shù)

且該數(shù)是奇數(shù)(該四位數(shù)以后不滿五個(gè)數(shù),則不統(tǒng)計(jì)),則統(tǒng)計(jì)出滿足此

條件的個(gè)數(shù)ent并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后

調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出到

Out.dat文件中。

注意:部分源程序存在test.C文件中。

程序中已定義數(shù)組:a[200],b[200],已定義變量:ent

請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main、讀函數(shù)readDat

和寫函數(shù)writeDat的內(nèi)容。

■include<stdio?h>

2IdefineMAX200

3Inta(MAX),b[MAX],ent?

4voidwriteDat();

voidjsValO

6

7

8

/*readDAt()從數(shù)界文件in.dM中讀取200個(gè)四位數(shù)存入數(shù)爆■中?/

voidreadDat()

10(

11inti;

12FILE*fp;

13fp-fopen(**ln.dat","r");

14for(i?0;i<MAX;i*+)

15fscanf(fp,&a(i));

16fclose(fp);

17)

18voidmain()

19

20inti;

21readDat();

22jsVal();〃?用jsVal”曬故,實(shí)現(xiàn)?求的功能

23printf(”滿足條件的數(shù)=Sd\rT,ent);

24for(i*0;i<ent;1+?)

25printf(M%d",b(i]);

26prlntf;

27writeDat();

28]

/?喻敏writcDaO把結(jié)果cm以及數(shù)組b中符合條件的四何散■出現(xiàn)outdat文件中?/

29voidwriteDat()

30

31

32

33fp-fopen("out.dat",Ww");

34fprintf(fp,"gd'n",ent);

35for(1=0;i<ent;土+4)

M0

36fprintf(fp,%d\nrb[11)

37fclose(fp);

38

34.編寫一^^函數(shù)findStr(char*str,char*substr),該函數(shù)統(tǒng)計(jì)一^長度為

2的子字符串substr在另一個(gè)字符串str中出現(xiàn)的次數(shù),該次數(shù)作為函數(shù)

值返回。例如,假定輸入的字符串為"asdasasdfgasdaszx67asdmklo”,

子字符串為“as",函數(shù)返回值是6。

函數(shù)ReadWrite實(shí)現(xiàn)從文件indat中讀取兩個(gè)字符串,并調(diào)用函數(shù)findStr,

最后把結(jié)果輸出到文件out.dat中。

注意:部分源程序存在test.c文件中。請勿改動(dòng)主函數(shù)main和其他函

數(shù)中的任何內(nèi)容,僅在函數(shù)findStr的花括號(hào)中

填入你編寫的若干語句。

^include<stdio.h>

*include<string.h>

voidReadWrlte();

a

intfindStr(char3trtchar?substr)

main0

charstr(811?substr[3];

intn;

printf("輸入字符中:w);

gets(str);

printf("輸入子字符甲:");

gets(substr);

puts(str);

puts(aubstr);

w

nfindStr(str,substr);

prlntfLn,Ad\ne?n);

ReadWrite();

I

,?從支件in.chi中It取兩個(gè)字符刖.并輯用電依fifidS“O,?后1E郎果■出到文件即如中?/

22voidReadWrite()

23(

24charstr(81)rsubstr(3],ch;

25intn,lenrim0;

#e

26FILErfrwf;

wwH

27rf=fopen(*£n.datrr);

MM

28wf-fopen(out.datrm;

29while(1<5)

30|

31fgets(str,80,rf);〃從文件m&i申城取長度為R的字符中存入到字符中

32fgets(substr#10,rf);〃從文件m&t中讀取長度為Q的子字符中存入到字符率,ubstr

33len?'strlen(substr)-1;//尼f字符鷹gubstx的長度K1的

ch-substr(lenI;〃把子字符州的量后一個(gè)字箝的CMC嬉字符cb

"如果十字符串的最后-個(gè)字構(gòu)是回年投行符改是文件站販?zhǔn)?,明紀(jì)子字符串的量后一個(gè)字符的值設(shè)宣力0”

35if(ch~?\n911ch~Oxla)

36substr[len]?0;

flnd£tr(4tr?■ubstr)返Z1子字符串substr在字符率Atr中出現(xiàn)的次數(shù)*/

37n-findStr(str,substr);

38fprintf(wf,Fd\n".n);“JC計(jì)II納粵n寫入到文件。ut.dau中

39144;〃謂環(huán)登量上加】

40I

41fclose(rf);

42fclose(wf);

43

35.將文件in.dat中的200個(gè)整數(shù)讀至數(shù)組XX中。請編制jsValue函

數(shù),要求:求出數(shù)組XX中的數(shù)值為奇數(shù)的個(gè)數(shù)cntl和數(shù)值為偶數(shù)的個(gè)

數(shù)cnt2以及數(shù)組XX下標(biāo)為奇數(shù)的元素值的算術(shù)平均值pjo

結(jié)果cntl,cnt2,pj輸出到out.dat中。注意:部分源程序存在test.c

文件中。請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main、讀函

數(shù)read_dat和輸出函數(shù)writeDat的內(nèi)容。

1jlinclude<stdio.h>

2;IdefineN200

3,intcntl,cnt2rxx(N);

4;floatpj;〃¥均值

5*voidwriteDat;

6jvoidjsValue()

;/?road.dat(intJUC(N)1*敏粕文件tautat中的MO個(gè)■數(shù)讀至做tflu中?/

10t!voidr-eaddat(intxx[N])

11j(

12-inti,力

13}FILE*fp;

14?fp-fopen("in-dat",*r");

15;for(1?0;1<20;

16i(

17-for(j?0;j<10;…)

18!<

19\fscanf(fp,rdj.4xx(i*10*j|);〃從文件中it取一個(gè)等數(shù)介入數(shù)鍬元Uxx建中

20;printfC%d-,

21;}

22;printf(*\nw);

23J}

24ffclose(fp);

25|}

26!voidmainO

27;{

28\read_dat(xx);

29jsValue();

w

30printf(\n\ncntl-%d,cnt2?%drpj?^6.2f\n*/cntl.cnt2rpj);

31writeDat();

32)

/?將計(jì)修結(jié)果6H.cm2.討修出到OULdB!中?/

33voidwriteDat()

34I

35;FILEWfw;

36jfw-fopen("out.datwww);

w〃寫入到中

37!fprintf(fwr"%d\ntd\n%6.2f\n9cntlrcnt2,pj);cntl,cm2,8outdat

38jfclose(fw);

39\

36.已知在in.dat中存有若干個(gè)(個(gè)數(shù)<200)四位數(shù)字的正整數(shù),函數(shù)

ReadDat讀取這若干個(gè)正整數(shù)并存入數(shù)組XX中。請編制函數(shù)CalValue,

其功能要求:

1.求出該文件中共有多少個(gè)正整數(shù)totNum;

2.求這些正整數(shù)右移1位二進(jìn)制位后,產(chǎn)生的新數(shù)是奇數(shù)的數(shù)的個(gè)數(shù)

totCnt,以及滿足此條件的這些正整數(shù)(右移前的值)的算術(shù)平均值totPjzo

最后main函數(shù)調(diào)用函數(shù)WriteDat把所求的結(jié)果輸出到文件out.dat

中。

注意:部分源程序存放在test.c文件中。

請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù),主函數(shù)main、讀函數(shù)ReadDat

和輸出函數(shù)WriteDat的內(nèi)容。

1?tinclude<stdlo<h>

2!IdefineMAXNUM200

3{intxx(MAXNUM];

4!inttotNum-0;〃文件中共有多少個(gè)正整數(shù)

5jmttotCnt?0;〃符合條件的正整數(shù)的個(gè)教

6*doubletotPjt-0.0;〃牛均值

7!intReadDat(void);

8?voidWriteDat(void);

9-voidCalValue(void)

10f(

11;

12!)

13?voidmainO

14;1

15!int1;

16;for(i-0;i<MAXNUM;…)

17;xxfi]-0;

18!if(ReadDat())

19jt

20jprlntf("數(shù)據(jù)文件In.dat不能打開!\00八n”);

21?return;

22\?

23!CalValue();

24iprintf("文件in.dat中共有正整數(shù)個(gè)\n",totNum);

25'printf("符合條件的正整數(shù)的個(gè)般個(gè)\n"#totCnt);

26printf("平均.21f\n?,totPjz);

27WriteDat();

28)

/?it取這若干個(gè)正整數(shù)并存入itlfiu中?/

29IntReadDat(void)

30(

31FILE*fp;

32inti?0;

H

33iff(fp-fopen(ln.dat**#*r**))==NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp/”dj.&xx;

38)

39fclose(fp);

40return0;

41]

/?把計(jì)算姑果存入文件iut.dat中?/

42voidWriteDat(void)

434

44FILE*fp;

45fp■fopen(wout.dat",;

ww

46fprintf(fp/%d\n%d\ni.21f\n,totNum*totCnt,

47fcloae(fp);

48

37.函數(shù)readDat是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組

XX中(每行字符串長度均小于80)。請編制函數(shù)isSort,其函數(shù)的功能

是:以行為單位對字符串按下面給定的條件進(jìn)行排序,排序后的結(jié)果仍

按行重新存入字符串?dāng)?shù)組XX中,最后調(diào)用函數(shù)writeDat把結(jié)果)XX輸

出到文件Out.dat中。

條件:字符串從中間一分為二,左邊部分按字符的ASCII值降序排序,

右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進(jìn)行交換。

如果原字符串長度為奇數(shù),則最中間的字符不參加處理,字符仍放在原

位置上。

例如,位置012345678

源字符串ibcdhgfe

123498765

則處理后字符串hgfedcba

876594321

注意:部分源程序存在teac文件中.

請勿改動(dòng)數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)n?dD叫)和寫函數(shù)wntcDatO的內(nèi)容.

1Jlinclude<stdio.h>

2jfinclude<string.h>

3;charxx[20](801;

4voidreadDat();

5voidwriteDat();

6voidjsSort()

7

8

9

10voidmain()

11;(

12readDatO;

13jsSort();

14;writeDatO;

15;)

j/?從文件mdil中虢取20打敗宛存放到字符小數(shù)蛆xx中?/

16;voidreadDat()

17J

18?FILEein;

19;inti-0;

20!char*p;

ww

21\in?fopen(in.dat#"L);

22|whiled<20“fget3(xx(i]t80,in)!-NULL)

23

24p-strchr(xxfijf*\n*);

25if(p)*p?0;

26o

27;)

28:fclose(in);

29

j/?紀(jì)站*XX*出到文件gtdm中?/

30!voidwriteDat()

31;I

32FILEeout;

33int1;

34jout-fopenwwM);

35for(i?0;1<20;ii)

36?i

w

37printf(0%s\n/xx[i));

wr

38fprintf(outr%a\n*rxxij);

39;)

40?fclose(out);

41

38.已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat

把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal,其功能是:把個(gè)位數(shù)

字和千位數(shù)字重新組成一個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)字是

原四位數(shù)的個(gè)位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的千位數(shù)字),以及把

百位數(shù)字和十位數(shù)字組成另?個(gè)新的含有兩位數(shù)字的數(shù)(新數(shù)的十位數(shù)

字是原四位數(shù)的百位數(shù)字,新數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字),如

果兩個(gè)新組成的數(shù)均是偶數(shù)并且至少有一個(gè)數(shù)能被9整除,同時(shí)兩個(gè)新

數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存

入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)ent。最后main函

數(shù)調(diào)用寫函數(shù)writeDat把結(jié)果ent以及數(shù)組b中符合條件的四位數(shù)輸出

到Out.dat文件中。

注星;部分源程序存在teste文件中.

程序中已定義數(shù)Sba(200].b(200],巳定義變量:ent

請勿改動(dòng)數(shù)據(jù)文件m.dat中的任何數(shù)據(jù)、主函數(shù)mainO,讀的數(shù)tvadDatO和寫函數(shù)writeDUO的內(nèi)容.

1

1.?include<stdio.h>

21IdefineMAX200

3!inta|MAX],ent-0;

4;voidjsVal<)

CiI

6?

8?voidreadDat()〃從xn.dat文件中it取200個(gè)四加數(shù)存入&中

9;(

10?intis

111FILEefp;

12jfp-fopen(

13!for(1-0;

14?fscanf(fp

15fclose(fp);

161i

17;writeDat()/把計(jì)算能果cnl以及我恥b中料含條件的內(nèi)付數(shù)?出到outdai文件中

18

D;

27voidmain()

28(

29int1;

30readDat();

31jsVal();〃謁用油觸,BVAIC實(shí)現(xiàn)IH1要氽的功能

32piintf("滿足條件的數(shù)w*d\n”,nt);

33for(1-0;i<ent;i**)

34printf”,b[X!);

35printf(H\nH);

36writeDat();

37!!

39.程序test.c的功能是:計(jì)算100以內(nèi)滿足以下條件的所有整數(shù)i的

個(gè)數(shù)ent以及這些i之和sum。條件:i,i+4,i+10都是素?cái)?shù),同時(shí)i+10

小于100o請考生編寫函數(shù)countvalue實(shí)現(xiàn)程序要求,最后調(diào)用函數(shù)

wfiteDAT把結(jié)果ent和sum輸出到文件out.dat中。(數(shù)值1不是素?cái)?shù))

40.函數(shù)ReadDat實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章存入到字符

串?dāng)?shù)組XX中,請編制函數(shù)ConvertCharA,其函數(shù)的功能是:以行為單

位把字符串中的所有小寫字母改寫成該字母的下一個(gè)字母,如果是字母

z,則改寫成字母a,大寫字母和其他字符保持不變。把已處理的字符串

仍按行重新存入字符串?dāng)?shù)組XX中。最后main函數(shù)凋用函數(shù)WriteDat

把結(jié)果XX輸出到文件Out.dat中。

例,原文:Adb.Bcdza

abck.LLhj

結(jié)果iAcc.Bdcab

KrdlrTik

原始數(shù)據(jù)文件存放的格式是,每行的蜜度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格.

注意:部分源程序存放在test<文件中.

請勿改動(dòng)主函敷main().讀函數(shù)ReadDaH)和總出函數(shù)WritcDw。的內(nèi)容.

1;tinclude<stdio.h>

2!!include《string.h>

3charxx[50J[80];

4intmaxline■0;/*文章的總行數(shù)*/

5intReadDat(void);

6voidWriteDat(void);

7voidConvertCharA(void)

8

9

10

11voidmain()

12(

13if(ReadDat())

14I

15printf("數(shù)據(jù)文件in.dat不能打開!\n\007-):

16return;

17?

18ConvertCharA{);

】9WriteDatO;

2。]

,?從文件中it取一■英文文拿存入到字符率依Wu中〃

21intReadDat(void)

22(

23FILE*fp;

24inti?0;

25ichar*p;

wRwR

26if((fp-fopen(in.datrr))--NULL)

27return1;

28while(fgeta(xx[i],80,fp)!-NULL)

29(

30p-strchr(xx[i)r

31if(p)*p-0;

32i**;

33I

34maxline-1;

35fclose(fp);

36return0;

37?

/結(jié)果u■出到文件OUL&I中?/

38voidWriteDat(void)

39(

40FILE#fp;

41Int1;

42fp-fopen("out.daL.*wM);

43for(i-0;1<maxline;i++)

44(

45print1(w%5\nw<xx[i]);

46fpxintf(fp,"%a\n",xx(iH;

五、設(shè)計(jì)與應(yīng)用題(2題)

41.某教務(wù)管理系統(tǒng)使用SQLServer2008數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫軟硬

件配置信息如下:I.數(shù)據(jù)庫運(yùn)行在兩路IntelXeonE5-26092.4GHz

CPU(每路CPU4核心),128GB內(nèi)存、2塊300GB15000轉(zhuǎn)SAS硬盤

(RAID1)的服務(wù)器上;II.服務(wù)器操作系統(tǒng)為Windows200332位企

業(yè)版安裝SP2補(bǔ)丁.數(shù)據(jù)庫為SQLServer2008Enterprise(32位),

數(shù)據(jù)庫中總數(shù)據(jù)量近130GB。近一個(gè)學(xué)期以來,用戶反映系統(tǒng)運(yùn)行緩慢,

經(jīng)程序員定位,確定為數(shù)據(jù)庫服務(wù)器響應(yīng)緩慢,需要進(jìn)行調(diào)優(yōu)。(10分)

42.設(shè)有商品表(商品號(hào),商品名,單價(jià))和銷售表(銷售單據(jù)號(hào),商品

號(hào),銷售時(shí)間,銷售數(shù)量,銷售單價(jià))。其中,商品號(hào)代表一類商品,商

品號(hào)、單價(jià)、銷售數(shù)量和銷售單價(jià)均為整型。請編寫查詢某年某商品的

銷售總毛利的存儲(chǔ)過程,毛利=銷售數(shù)量x(銷售單價(jià)一單價(jià))。要求商

品號(hào)和年份為輸入?yún)?shù),總毛利用輸出參數(shù)返回。(10分)

六、單選題[1分K2題)

43.數(shù)據(jù)庫性能優(yōu)化是數(shù)據(jù)庫應(yīng)用系統(tǒng)上線后最常見的運(yùn)行維護(hù)任務(wù)之

-O下列有關(guān)數(shù)據(jù)庫性能優(yōu)化的說法,錯(cuò)誤的是()o

A.數(shù)據(jù)庫性能優(yōu)化和數(shù)據(jù)庫的外部環(huán)境有很大關(guān)系,如果外部環(huán)境出現(xiàn)

瓶頸,單獨(dú)對數(shù)據(jù)庫進(jìn)行調(diào)整很難取得較好效果

B.在數(shù)據(jù)庫性能優(yōu)化期間可能對原有符合范式的關(guān)系轉(zhuǎn)為不符合范式

的關(guān)系

C物化視圖將會(huì)預(yù)先計(jì)算并保存耗時(shí)操作的結(jié)果,可大幅度提高查詢效

率,但是物化視圖必須人工手動(dòng)刷新

D.存儲(chǔ)過程在執(zhí)行期間不需要重新編譯,可以在一定程度上提高運(yùn)行效

率,但是其與數(shù)據(jù)庫管理系統(tǒng)綁定,更換數(shù)據(jù)庫管理系統(tǒng)時(shí)需要重新編

44.下列關(guān)于SQLServer2008身份驗(yàn)證模式的說法,錯(cuò)誤的是()。

A.在“Windows身份驗(yàn)證模式”下,不允許sa登錄到SQLServer服務(wù)器

B.在“Windows身份驗(yàn)證模式”下,所有Windows用戶都自動(dòng)具有登錄到

SQLServer服務(wù)器的權(quán)限

C.不管是哪種身份驗(yàn)證模式,Windows中的Administrator無需授權(quán)就可

登錄到SQLServer服務(wù)器

D.安裝好SQLServer之后,可以根據(jù)需要隨時(shí)更改身份驗(yàn)證模式

參考答案

1.D解析:如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中n個(gè)實(shí)體

(吟0)與之聯(lián)系,反之,對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也

有m個(gè)實(shí)體(mNO)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B是多對多聯(lián)系,

記為m:no

2.A早期是二進(jìn)制編碼,就是一般所謂的機(jī)器語言,其后出現(xiàn)最早的操

作系統(tǒng),因此發(fā)展過程為設(shè)備驅(qū)動(dòng)程序組成的原始操作系統(tǒng)、管理程序、

操作系統(tǒng)

3.C解析:直接插入排序的基本算法是:當(dāng)插入第i(i>=l)個(gè)對象時(shí),

前面的V[O],V[l],V[i-1)已經(jīng)排好序,這時(shí),用V[i]的關(guān)鍵碼與

口-2]…的關(guān)鍵碼順序進(jìn)行比較,找到插入位置即將V[i]插入,原

來位置上的對象則向后移。

由此可知,直接插入排序法的關(guān)鍵碼比較次數(shù)與對象的初始排列有關(guān),

準(zhǔn)確地說,就是與可以取的值有關(guān)。在本題中,序列已經(jīng)排好了序,所

以其i的取值達(dá)到了最大,就是序列中元素的個(gè)數(shù),其實(shí)也就是根本無

須比較和交換,所以這種方法是最經(jīng)濟(jì)的。

4.A解析:單向鏈表插入運(yùn)算的關(guān)鍵步驟為:q?-link:=pf.link;pt,link:

=q;

5.c解析:解決內(nèi)存碎片的通常的手法,是把所有的空閑區(qū)合并成一片

連續(xù)區(qū)域,這一過程稱為緊湊。

6.B解析:棧是限定僅在表的一端進(jìn)行插入和刪除運(yùn)算的線性表。隊(duì)列

是限定所有的插入都在表的一端進(jìn)行,所有的刪除都在表的另一端進(jìn)行

的線性表。串是由零個(gè)或多個(gè)字符組成的有限序列。掌握鏈表指針和棧、

隊(duì)列、串、數(shù)組的區(qū)別。

7.D解析:數(shù)據(jù)庫的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)是由外模式,模式和

內(nèi)模式三級抽象模式構(gòu)成。模式也稱邏輯模式或概念模式,模式是數(shù)據(jù)

庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,

一個(gè)數(shù)據(jù)庫只有一個(gè)模式;外模式也稱子模式、用戶模式,可以描述某

個(gè)特定的用戶組所使用的那一部分?jǐn)?shù)據(jù)庫,一個(gè)數(shù)據(jù)庫可以有多個(gè)外模

式;內(nèi)模式也稱物理模式,是數(shù)據(jù)庫內(nèi)部的表示方法,廠個(gè)數(shù)據(jù)庫只有

一個(gè)內(nèi)模式。因此本題正確答案為選項(xiàng)D。

8.C解析:機(jī)器語言和匯編語言都是面向機(jī)器的語言,而高級語言則是

面向問題的語言。高級語言與具體的計(jì)算機(jī)硬件無關(guān),其描述方法接近

于人們對求解過程或問題的表達(dá)方式,容易理解、掌握和記憶,而且通

用性和可移植性好。因此本題正確答案為選項(xiàng)C。

9.A解析2NF就是不允許關(guān)系模式的屬性之間有這樣的函數(shù)依賴X-Y,

其中X是碼的真子集,Y是非主屬性。3NF不允許關(guān)系模式的屬性之間

有這樣的非平凡函數(shù)依賴X-Y,其中X不包含碼,Y是非主屬性。4NF

是限制關(guān)系模式的屬性之間不允許有非平凡且非函數(shù)依賴的多值依賴。

10.C解析:碼也稱為關(guān)鍵字,是表中若干屬性的屬性組,其值唯一標(biāo)識(shí)

表的一個(gè)元組,由函數(shù)據(jù)依賴的關(guān)系可以看出R的碼為(M,A)。

H.5或五5或五解析:二叉排序樹是將線性表中的結(jié)點(diǎn)信息(或結(jié)點(diǎn)中

的關(guān)鍵碼值和結(jié)點(diǎn)地址)組織成二叉樹形式,以達(dá)到與二分法檢索相同

的檢索效率,而又具有鏈表那樣的插入、刪除、運(yùn)算的靈活性。

二叉樹的特點(diǎn):每個(gè)結(jié)點(diǎn)的左子樹中所有的結(jié)點(diǎn)的關(guān)鍵碼值都小于該結(jié)

點(diǎn)的關(guān)鍵碼值,而右子樹中所有結(jié)點(diǎn)的關(guān)鍵碼值都大于該結(jié)點(diǎn)的關(guān)鍵碼

值。

對于插入排序所形成的二叉樹的總數(shù)目為:C(2n,n)/(n+l)=C(6,3)/4=5,

其中n為關(guān)鍵碼的個(gè)數(shù)。

12.不可靠【解析】互聯(lián)網(wǎng)應(yīng)該屏蔽低層網(wǎng)絡(luò)的差異,為用戶提供通用

的服務(wù)。具體地講,運(yùn)行IP協(xié)議的互聯(lián)層可以為其高層用戶提供如F3

種服務(wù):⑴不可靠的數(shù)據(jù)投遞服務(wù);⑵面向無連接的傳輸服務(wù);(3)盡

最大努力投遞服務(wù)。

13.分布式一個(gè)分布式數(shù)據(jù)庫系統(tǒng)包含一個(gè)節(jié)點(diǎn)的集合,這些節(jié)點(diǎn)通過某

種類型的網(wǎng)絡(luò)連接在一起,每一個(gè)節(jié)點(diǎn)是一個(gè)獨(dú)立的數(shù)據(jù)庫系統(tǒng)節(jié)點(diǎn)

14.WEB或網(wǎng)頁WEB或網(wǎng)頁

15.游標(biāo)或Cursor游標(biāo)或Cursor解析:一"SQL語句原則上可產(chǎn)生或

處理一組記錄,而主語言一次只能處理一個(gè)記錄,為此必須協(xié)調(diào)兩種處

理方式,這是通過使用游標(biāo)機(jī)制來解決的。與游標(biāo)有關(guān)的SQL語句包

括:游標(biāo)定義語句、游標(biāo)打開語句、游標(biāo)推進(jìn)語句和游標(biāo)關(guān)閉語句。

16.認(rèn)證階段【解析】用戶檢索POP3郵件服務(wù)器的過程可以分成3個(gè)

階段:認(rèn)證階段、事務(wù)處理階段、更新階段。

17.結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)解析:數(shù)據(jù)模型可分為概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)

模型

18.地理模式【解析】頂級域的劃分采用了兩種模式,即組織模式和地

理模式。

19.先進(jìn)先出隊(duì)列是先進(jìn)先出的線性表,只能在一段進(jìn)行插入,另一端進(jìn)

行刪除操作

20.簡單郵件傳輸協(xié)議或SMTP簡單郵件傳輸協(xié)議或SMTP解析:在電

子郵件程序向郵件服務(wù)器發(fā)送郵件時(shí),使用的是簡單郵件傳輸協(xié)議

(SMTP);而在電子郵件程序從郵件服務(wù)器讀取郵件時(shí),可以使用郵局協(xié)

議(POP3)或交互式郵件存取協(xié)議(IMAP),它取決于郵件服務(wù)器支持的協(xié)

議類型。

21.D

22.B

23.B解析:響應(yīng)比定義為系統(tǒng)對作業(yè)的響應(yīng)時(shí)間與作業(yè)運(yùn)行時(shí)間的比值。

最高響應(yīng)比作業(yè)優(yōu)先算法優(yōu)先選擇響應(yīng)比最高的作業(yè)。對JOB1,JOB2、

J0B3和J0B4的響應(yīng)比分別為60/80=0.75.40/20=2,10/40=0.25和0/35=0,

因此首先被調(diào)度的作業(yè)是JOB2,正確答案為選項(xiàng)B。

24.B

25.D

26.D

27.C解析:對具有相同關(guān)鍵字的關(guān)系模式,如果他們的處理主要是查詢

操作,且常在一起,可將這列關(guān)系模式進(jìn)行合并。掌握關(guān)系數(shù)據(jù)庫的邏

輯結(jié)構(gòu)設(shè)計(jì)過程,如何正確運(yùn)用模式評價(jià)、優(yōu)化模式、分解。

28.A

29.B

30.D

31.\n【審題關(guān)鍵句】以行為單位把字符串中的所有小寫字母改寫成該字

母的上一個(gè)字母,大小寫不變,其他字符不變。

\n【解題思路】

\n①定義整型循環(huán)變量i、j0

\n②在第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于

maxline,實(shí)現(xiàn)對文章每行的處理。第二層for循環(huán)中,循環(huán)變量J從0

開始,依次遞增直到其值大于或等于strlen(xx[i]),在循環(huán)體中,利用if

條件語句判斷如果XX[i]用的值為字符匕\則把xx[i][j]的值設(shè)置為字

符2。否則如果XX皿D]的值在小寫字符,at與2之間,則把XX國用的

值減1,把其值變成其前一個(gè)字符的ASCII碼。

\n【參考答案】

\n

\n

32.\n【審題關(guān)鍵句】個(gè)位+于位與百位+十位,奇數(shù),偶數(shù),整除,從大

到小排序。

\n【解題思路】

\n本題類似第24套試題,通過審題可以發(fā)現(xiàn)主要是對四位數(shù)的篩選條

件有所不同,體現(xiàn)在兩個(gè)方面:①分解后重新組合成十位數(shù)的方式不同,

參考答案的第8、9條語句重新指定兩位數(shù)的組合方式;②新組合的兩

位數(shù)的奇偶性判斷及整除判斷,參考答案的第10條語句。

\n本題第10條語句中各條件表達(dá)式之間的關(guān)系有些復(fù)雜,大致思路是:

①首先判斷新組合的兩位數(shù)的十位不為0,即表達(dá)式“gwbw";②再判斷

新組合的第一個(gè)兩位數(shù)為偶數(shù),第二個(gè)兩位數(shù)為奇數(shù),且兩個(gè)兩位數(shù)中

至少有一個(gè)能被17整除的情況,兩個(gè)整除關(guān)系表達(dá)式式要用或運(yùn)算符

(11)連接,且用括號(hào)括起來先計(jì)算或運(yùn)算,再與奇偶性判斷表達(dá)式進(jìn)行

與運(yùn)算;③最后,在判斷新組合的第一個(gè)兩位數(shù)為奇數(shù),第二個(gè)兩位數(shù)

為偶數(shù),且兩個(gè)兩位數(shù)中至少有一個(gè)能被17整除的情況(各表達(dá)式之間

的連接關(guān)系同第2步)。完成以上3部分的表達(dá)式設(shè)計(jì)后,再通過與運(yùn)

算將3部分表達(dá)式連接起來。

\n【參考答案】

\n

\n

33.\n【審題關(guān)鍵句】大于后連續(xù)5個(gè)數(shù),奇數(shù),從小到大排序。

\n【解題思路】本題類似第35套試題,通過審題可以發(fā)現(xiàn)主要有兩個(gè)不

同點(diǎn):①判斷數(shù)值為奇數(shù),可通過a[i]%2進(jìn)行判斷,參考答案的第4條

語句;②要求進(jìn)行比較的元素大于后連續(xù)5個(gè)數(shù),因此在設(shè)置判斷條件

時(shí),作為比較的兩個(gè)數(shù)之間應(yīng)該是大于關(guān)系,參考答案的第4條語句。

\n【參考答案】

\n

\n

34.\n[審題關(guān)鍵句】統(tǒng)計(jì)一個(gè)長度為2的子字符串在另一個(gè)字符串中出

現(xiàn)的次數(shù)。

\n【解題思路】

\n①定義字符指針p,q,并且q指向字符串str。定義計(jì)數(shù)整型變量ent,

設(shè)置其值等于0。

\n②在while循環(huán)中調(diào)用C語言的字符串庫函數(shù)strstr,返回子字符串

substr在字符串q第一次出現(xiàn)的位置,賦給變量P。用if語句判斷,如

果P的值為空,則說明在字符串str沒有找到子字符串,退出循環(huán)。否

則,變量ent加1,再把P的值加2(因?yàn)樽幼址畇ubstr的長度為2)賦

給變量q,執(zhí)行下一次循環(huán)。直到字符串中不存在子字符串時(shí),退出循

環(huán)結(jié)束。

\n③最后,返回子字符串substr在字符串str中出現(xiàn)的次數(shù)。

\n【參考答案】

\n

35.\n【審題關(guān)鍵句】讀入數(shù)值,奇數(shù)個(gè)數(shù),偶數(shù)個(gè)數(shù),數(shù)組下標(biāo)為奇數(shù)

的平均值。

\n【解題思路】

\n本題類似第42套試題,通過審題可以發(fā)現(xiàn)僅有一個(gè)不同點(diǎn),即本題

是計(jì)算數(shù)組下標(biāo)為奇數(shù)的元素的平均值,參考答案的第6條語句。

\n【參考答案】

\n

\n

36.\n【審題關(guān)鍵句】讀取正數(shù),統(tǒng)計(jì)個(gè)數(shù),右移后為奇數(shù)的個(gè)數(shù)及平均

值。

\n【解題思路】

\n本題類似第44套試題,通過審題可以發(fā)現(xiàn)僅有一個(gè)不同點(diǎn),即參與

平均值計(jì)算的元素是數(shù)組xx[i]右移一位之后為奇數(shù)的元素,參考答案的

第9條語句。

\n【參考答案】

\n

\n

37.\n【審題關(guān)鍵句】以行為單位從字符串左邊部分降序排序,排序后左

邊部分與右邊部分進(jìn)行交換。如果原字符串長度為奇數(shù),則最中間的字

符不參加處理。

\n【解題思路】

\n①定義循環(huán)變量i、j、k和整型變量len、po

\n②第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于

20,實(shí)現(xiàn)對20行數(shù)據(jù)的逐行處理。在循環(huán)體中,對于i行首先調(diào)用函數(shù)

strlen(xx[i])求得第i行字符串的長度,并把其值賦給變量len,再用len

除以2,得到第i行字符串長度的一半,賦給變量P。在第二層for循環(huán)

中,循環(huán)變量J從0開始,依次遞過來增直到其值等于(p-1),在第三層

for循環(huán)中,循環(huán)變量k從J+1開始,依次遞過來增直到其值等于P,比

較字符xx[i][j]ASCII碼值與xx[i][k]ASCII碼值的大小,如果字符xx[i]

啪的ASCII碼值小于xx皿k]的ASCII碼值,則兩者進(jìn)行互換實(shí)現(xiàn)對第

i行字符串左半部分的字符串按降序排列。

\n③用變量len的值對2求余數(shù),如果余數(shù)為1,則調(diào)用函數(shù)字符串拷貝

函數(shù)strcpy,把從字符串xx[i]+P+l開始直到字符串xx[i]的結(jié)尾的子字

符拷貝到字符串變量str中,再調(diào)用字符串連接函數(shù)stmcat把字符串xx[i]

的中間字符連接到字符串變量str的后面,再調(diào)用字符串連接函數(shù)stmcat

把字符串xx[i]的左半部分的子字符串連接到變量str的后面;如果余數(shù)

不等于1,則調(diào)用字符串拷貝函數(shù)strcpy,把從字符串xx[i]+P開始直到

字符串xx[i]的結(jié)尾的子字符拷貝到字符串變量str中,再調(diào)用字符串連

接函數(shù)stmcat把字符串xx[i]的左半部分的子字符串連接到變量str的后

面,實(shí)現(xiàn)字符串xx[i]左右部分子字符串的交換。

\n④調(diào)用字符串拷貝函數(shù)strcpy,把字符串變量str的值拷貝到字符串

xx[i],實(shí)現(xiàn)把排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組XX中。

\n【參考答案】

\n

\n

38.\n【審題關(guān)鍵句】個(gè)位+千位與百位+十位,偶數(shù),整除,從大到小排

序。

\n【解題思路】

\n本題類似第24套試題,通過審題可以發(fā)現(xiàn)主要是對四位數(shù)的

溫馨提示

  • 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

提交評論