2021年河南省漯河市全國計算機等級考試數據庫技術測試卷(含答案)_第1頁
2021年河南省漯河市全國計算機等級考試數據庫技術測試卷(含答案)_第2頁
2021年河南省漯河市全國計算機等級考試數據庫技術測試卷(含答案)_第3頁
2021年河南省漯河市全國計算機等級考試數據庫技術測試卷(含答案)_第4頁
2021年河南省漯河市全國計算機等級考試數據庫技術測試卷(含答案)_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

2021年河南省漯河市全國計算機等級考試數據庫技術測試卷(含答案)學校:________班級:________姓名:________考號:________

一、1.選擇題(10題)1.在數據庫系統巾,面向用戶、也就是用戶所涉及的數據庫被稱為()。

A.外模式B.概念模式C.存儲模式D.模式

2.下面關于計算機的論述,其中錯誤的是

Ⅰ.第四代計算機以大規模集成電路和超大規模集成電路的使用為主要標志

Ⅱ.計算機的發展趨勢可以概括為:速度更快、功能更多、體積更小、價格更低

Ⅲ.智能模擬是用計算機模擬人類某些智能行為,目前最先進的智能機器人已經能夠完全取代人腦進行思考

Ⅳ.計算機信息處理,實際上就是由計算機進行數據處理的過程

A.Ⅰ和ⅡB.ⅣC.ⅢD.Ⅰ、Ⅱ和Ⅳ

3.設森林F對應的二叉樹為B,它有m個結點,B的根為p,p的右子樹上的結點個數為n,森林F中第一棵樹的結點個數是

A.m-n-1B.n+1C.m-n+1D.m-n

4.由3個節點可以構造出多少種不同的二叉樹?

A.2B.3C.4D.5

5.要保證數據庫邏輯數據獨立性,需要修改的是()。

A.模式B.模式與內模式的映射C.模式與外模式的映射D.內模式

6.下列敘述中正確的是()。

A.堆排序是一種穩定的內部排序方法

B.在排序過程中,若出現元素向逆序向移動的現象,那么這樣的排序是不穩定的

C.折半插入排序是一種穩定的內部排序方法

D.待排序列基本有序時選用快速排序,能夠最好地發揮這種排序方法的優勢

7.以下關于數據結構的基本概念的敘述中哪一條是錯誤的?

A.數據元素是數據的基本單位

B.數據項是有獨立含義的數據最小單位

C.數據結構概念包括的主要內容是數據的邏輯結構和數據的存儲結構

D.數據的邏輯結構分為線性結構和非線性結構

8.設R和S分別為r和s元(度)關系,且R有n個元組,S有m個元組。執行關系R和S的笛卡兒積,記作:T=R×S,則下列敘述中正確的是

A.T是一個具有n×m個元組的r×s元的關系

B.T是一個具有n+m個元組的r×s元的關系

C.T是一個具有n+m個元組的r+s元的關系

D.T是一個具有n×m是元組的r+s元的關系

9.在程序編碼階段,編碼之前一項重要的工作就是選擇適當的程序設計語言,其中,涉及到的高級語言從應用特點上可以分為基礎語言、結構化語言和

A.匯編語言B.機器語言C.面向對象的語言D.專用語言

10.下列關于OLAP和OLTP的主要區別的表述中,錯誤的是()。

A.OLAP是面向客戶的,OLTP是面向市場的

B.OLAP管理大量歷史數據,OLTP管理當前數據

C.OLAP采用星型或雪花型設計模式,OLTP采用E-R模型設計

D.OLAP的訪問大部分是只讀操作,OLTP的訪問主要是短的原子事務

二、填空題(10題)11.一些進程相互合作共同完成一項任務,進程之間的這種直接的協同工作關系稱為_____。

12.SUN公司的Solaris是在___________操作系統的基礎上發展起來的。

13.為保證對故障恢復的支持,登記日志記錄必須先把日志記錄寫到外存的日志文件中,再把相應的數據庫修改寫到外存的數據庫中。這稱為【】原則。

14.設F是T1、T2和T3三棵樹組成的森林,與F對應的二叉樹為B,已知T1、T2和T3的結點個數分別為n1,n2和n3,則二叉樹B的根結點左子樹和右子樹中結點的個數分別為

【】

【】

15.在對一組記錄(54,38,96,23,15,72,60,45,83)進行希爾排序時,假定取di+1=[di/2],i≤t≤t+1,其中t=[log2n],d0=n,d1=1,n為待排序記錄的個數,則第二趟排序結束后,前四條記錄為【】。

16.如果多個事務在某個調度下的執行結果與這些事務在某個串行調度下的執行結果相同,則稱這個調度為【】調度。

17.數據庫并發操作控制包括以【】方式打開數據庫和對數據庫或記錄加鎖兩種方法。

18.為使多個進程有效地同時處理輸入和輸出,最好使用【】結構的緩沖技術

19.SQLServer數據庫中數據的存儲分配單位是__________。

20.使用PowerDesigner的DataArchitect可以對數據庫生成物理數據模型(PDM),這種功能通常稱為【】。

三、單選題(10題)21.在SQLServer系統數據庫中,存放用戶數據庫公共信息的是__________。

A.masterB.modelC.msdbD.tempdb

22.用直接插入排序方法對下面四個序列進行排序(由小到大),元素比較次數最少的是()

A.94、32、40、90、80、46、21、69

B.32、40、21、46、69、94、90、80

C.21、32、46、40、80、69、90、94

D.90、69、80、46、21、32、94、40

23.下列關于SQLServer數據庫服務器登錄賬戶的說法中,錯誤的是__________。

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

B.所有的Windows用戶都自動是SQLServer的合法賬戶

C.在Windows身份驗證模式下,不允許非Windows身份的用戶登錄到SQLServer服務器

D.sa是SQLServer提供的一個具有系統管理員權限的默認登錄賬戶

24.可以用于概念模型設計的是()

A.層次樹結構B.數據流圖C.E-R圖D.關系數據模型

25.數據庫是在計算機系統中按照一定的數據模型組織、存儲和應用的()

A.文件的集合B.數據的集合C.命令的集合D.程序的集合

26.在SQLSever中創建用戶數據庫,實際就是定義數據庫所包含的文件以及文件的屬性。下列不屬于數據庫文件屬性的是__________。

A.初始大小B.物理文件名C.文件結構D.最大大小

27.下列敘述中,不正確的是:

A.系統軟件是在應用軟件基礎上開發的

B.系統軟件應提供友好的人機界面

C.系統軟件與硬件密切相關

D.系統軟件與具體應用領域無關

28.如果兩個實體之間的聯系是1∶M,則實現1∶M聯系的方法是()

A.將兩個實體轉換成一個關系

B.將兩個實體轉換的關系中,分別加入另一個關系的主碼

C.將"1"端實體轉換的關系的主碼,放入"M"端實體轉換的關系中

D.將"M"端實體轉換的關系的主碼,放入"1"端實體轉換的關系中

29.操作系統在控制和管理進程的過程中,涉及到()這一重要數據結構,這是進程存在的惟一標志。

A.FCBB.FIFOC.FDTD.PCB

30.在關系數據庫系統中,一個關系相當于()

A.一張二維表B.一條記錄C.一個關系數據庫D.一個關系代數運算

四、C語言程序設計題(10題)31.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVal,其功能是:從數組a中依次取出一個四位數,對每一個四位數作如下處理:把個位數字和千位數字重新組成一個新的含有兩位數字的數(新數的十位數字是原四位數的個位數字,新數的個位數字是原四位數的千位數字),以及把百位數字和十位數字組成另一個新的含有兩位數字的數(新數的十位數字是原四位數的百位數字,新數的個位數字是原四位數的十位數字),如果兩個新組成數:一個是奇數,另一個為偶數,并且至少有一個數能被17整除,同時兩個新數的十位數字均不為零,則將滿足此條件的四位數存入數組b中,并計算滿足上述條件的四位數的個數cnt,而后對數組b進行降序排序。最后main函數調用寫函數writeDat把結果cnt以及數組b中符合條件的四位數輸出到out.dat文件中。

例如:一個四位數為4512,依題意組成的第一個新數為24,第二個新數為51,其中51能被17整除,這兩個新數的十位數字不為零,則4512這個四位數滿足題意所規定條件。

32.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVal,其功能是:若一個四位數的千位數位置上的值小于等于百位數位置上的值,百位數位置上的值小于等于十位數位置上的值,以及十位數位置上的值小于等于個位數位置上的值,并且原四位數是偶數,則統計出滿足此條件的個數cnt并把這些四位數按從小到大的順序存入數組b中,最后調用寫函數writeDat把結果cnt以及數組b中符合條件的四位數輸出到文件0ut.dat中。

33.在文件in.dat中已存有200個正整數,且每個數均在1000至9999之間。函數readDat是讀取這200個數存放到數組aa中。請編制函數jsSort,其函數的功能是:要求按每個數的后三位的大小進行降序排列,如果出現后三位相等的數值,則對這些數值按原始4位數據進行升序排列,將排序后的前10個數存入數組bb中。

最后調用函數writeDat把結果bb輸出到文件out.dat中。

34.將文件in.dat中的200個整數讀至數組XX中。請編制jsValue函數,要求:求出數組XX中的數值為奇數的個數cnt1和數值為偶數的個數cnt2以及數組XX下標為奇數的元素值的算術平均值pj。

結果cnt1,cnt2,pj輸出到out.dat中。注意:部分源程序存在test.c文件中。請勿改動數據文件in.dat中的任何數據、主函數main、讀函數read_dat和輸出函數writeDat的內容。

35.已知在文件in.dat中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱mc(字符型10位),單價dj(整型),數量s1(整型),金額je(長整型)五部分組成。其中:金額=單價*數量。函數ReadDat讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat,其功能要求:按產品代碼從小到大進行排列,若產品代碼相同,則按金額從小大進行排列,最終排列結果仍存入結構數組sell中。最后main函數調用函數WriteDat把結果輸出到文件out.dat中。

提示:若中間變量為PROtemp,則可以直接使用結構賦值語句進行解題;產品代碼比較請用函數strcmp進行解題。例如:sell[i]=temp;

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

請勿改動主函數main、讀函數ReadDat和輸出函數WriteDat的內容。

36.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVal,其功能是:若一個四位數的千位數位置上的值大于等于百位數位置上的值,百位數位置上的值大于等于十位數位置上的值,以及十位數位置上的值大于等于個位數位置上的值,并且原四位數是奇數,則統計出滿足此條件的個數cnt并把這些四位數按從小到大的順序存入數組b中,最后調用寫函數writeDat把結果cnt以及數組b中符合條件的數輸出到0ut.dat文件中。注意:部分源程序存在test.c文件中。

37.函數readDat是從文件in.dat中讀取20行數據存放到字符串數組XX中(每行字符串長度均小于80)。請編制函數isSort,其函數的功能是:以行為單位對字符串按下面給定的條件進行排序,排序后的結果仍按行重新存入字符串數組XX中,最后調用函數writeDat把結果)XX輸出到文件0ut.dat中。

條件:字符串從中間一分為二,左邊部分按字符的ASCII值降序排序,右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理,字符仍放在原位置上。

38.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVa,其功能是:把千位數字和十位數字重新組成一個新的含有兩位數字的數ab(新數的十位數字是原四位數的千位數字,新數的個位數字是原四位數的十位數字),以及把個位數字和百位數字組成另一個新的含有兩位數字的數cd(新數的十位數字是原四位數的個位數字,新數的個位數字是原四位數的百位數字),如果新組成的兩個數ab-cd>=0且ab.cd<=10且兩個數均是奇數,同時兩個新數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存入數組b中,并要計算滿足上述條件的四位數的個數cnt。最后main函數調用寫函數writcDat把結果cnt以及數組b中符合條件的四位數輸出到文件0ut.dat中。

39.函數readDat是從文件in.dat中讀取20行數據存放到字符串數組XX中(每行字符串長度均小于80)。請編制函數jsSort,其函數的功能是:以行為單位對字符串按下面給定的條件進行排序,排序后的結果仍按行重新存入字符串數組XX中,最后調用函數writeDat把結果XX輸出到文件out.dat中。

條件:字符串從中間一分為二,左邊部分按字符的ASCII值升序排序,右邊部分不變,左邊經排序后再與右邊部分進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理,字符仍放在原位置上。

40.已知在文件in.dat中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱mc(字符型10位),單價dj(整型),數量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數量。函數ReadDat讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat,其功能要求:按金額從大到小進行排列,若金額相等,則按產品代碼從大到小進行排列,最終排列結果仍存入結構數組sell中。最后main函數調用函數WriteDat把結果輸出到文件out.dat中。

提示:若中間變量為PROtemp,則可以直接使用結構賦值語句進行解題。

例如:sell[i]=temp;

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

請勿改動主函數main、讀函數ReadDat和輸出函數WriteDat的內容。

五、設計與應用題(2題)41.設有某商業單位需要建立商務數據庫用以處理銷售記賬,它記錄的數據包括:顧客姓名,所在單位及電話號碼;商品名稱,型號,產地及單價;某顧客購買某商品的數量及日期。假定無同名顧客,無同型號商品,由話公用靦客可存不同日期買同一商品。(1)請畫出該單位的商務ER圖模型并優化。(6分)(2)將ER模型換成關系模型并規范化到3NF。(4分)

42.在SQLServer2008中,設某數據庫中有商品表(商品號,商品名,進貨價格),商品號為主碼;銷售表(商品號,銷售時間,銷售數量,銷售價格,本次利潤),商品號和銷售時間為主碼,銷售價格為本次銷售商品的單價。現要求每當在銷售表中插入前4列數據時(假設一次只插入一行數據),系統自動計算本次銷售產生的利潤,并將該利潤賦給銷售表的第5列“本次利潤”。請編寫實現上述功能的后觸發型觸發器代碼。(10分)

六、單選題[1分](2題)43.設有選課表(學號,課程號,成績),現要統計每門課程的選課人數,并將結果保存到新表:選課情況表。下列語句中正確的是()。

A.SELECT課程號,COUNT(*)選課人數FROM選課表INT0選課情況表GROUPBY課程號

B.SELECT課程號,COUNT(*)選課人數INT0選課情況表FROM選課表GROUPBY課程號

C.SELECT課程號,COUNT(*)FROM選課表INT0選課情況表(課程號,選課人數)GROUPBY課程號

D.SELECT課程號,COUNT(*)INT0選課情況表(課程號,選課人數)FROM選課表GROUPBY課程號

44.DBAS需求分析階段的性能分析是分析DBAS應具有的性能指標。下列不屬于DBAS性能指標的是()。

A.數據庫空間占用情況B.數據查詢響應時間C.單位時間內可以完成的查詢數量D.單位時間內可以完成的事務數量

參考答案

1.A解析:外模式也稱子模式或用戶模式。它是數據庫用戶能夠看見和使用的局部的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。

2.C解析:智能模擬是用計算機模擬人類某些智能行為,如感知、思維、推理、學習和理解等。近年出現的智能機器人以知識庫為基礎采用智能接口,能進行邏輯判斷、完成判斷和決策任務,它可以模擬或部分代替人的智能活動,但并不能完全取代人腦進行思考。

3.D解析:根據二叉樹與森林的對應關系,將森林F轉換成對應二叉樹B的規則如下:若森林F為空,則二叉樹B為空。若森林F非空,則F中的第一棵樹的根為二叉樹B的根;第一棵樹的左子樹所構成的森林按規則轉換成一個二叉樹成為B的左子樹,森林F的其他樹所構成的森林按本規則轉換成一個二叉樹成為B的右子樹。依此規則可知:二叉樹B結點的個數減去其右子樹的結點的個數就是森林F的第1棵樹的結點的個數。

4.D解析:由3個節點可以構造出二叉樹的數目通過畫圖可得出共有5種。

5.C解析:當模式改變時,數據庫管理員對各個外模式/模式映像做相應改變,可保持外模式不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性。

6.C

7.C解析:本題是對數據結構基本概念的考查。選項A、B和D都是符合數據和數據結構的定義,只有選項c不對,因為數據結構概念一般包括3個方面的內容,分別是數據的邏輯結構、數據的存儲結構和數據的運算。所以本題正確答案為選項C。

8.D解析:設關系R和S分別為r元和s元關系,定義R和S的笛卡兒積是一個(r+s)元元組的集合,第一個元組的前r個分量來自R的一個元組,后s個分量來自S的一個元組。若R有k1個元組,S有k2個元組,則關系R和關系S的笛卡兒積有k1*k2個元組,記作:R*S。

9.D解析:從應用特點上看,高級語言可以分為基礎語言、結構化語言和專用語言三類。

10.A解析:OLAP和OLTP二者面向的用戶是不同的。OLAP面對的決策人員和高層管理人員;OLTP面對的是操作人員和低層管理人員。

11.進程同步或同步進程同步或同步

12.SunOS【解析】Solaris是Sun公司的UNIX系統,是在Sun公司自己的SunOS的基礎上設計開發的。

13.先寫日志先寫日志解析:為保證數據庫是可恢復的,登記日志文件時必須遵循兩條原則:登記的次序嚴格掃描并行事務執行的時間次序;必須先寫日志文件,后寫數據庫。為了安全,一定先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫到數據庫修改。

14.n1-1

n2+n3樹與二叉樹的轉換;將森林中每棵樹的根結點作為二叉樹的根結點,每個結點中的從左數第一個孩子是二叉樹中的左孩子,該孩子的所有兄弟都依次為該結點的右孩子,如此例推

15.(15,23,54,38)先取一個小于n的整數d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為d1的倍數的記錄放在同一個組中。先在各組內進行直接插入排序;然后,取第二個增量d2<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止

16.可串行化可串行化解析:幾個事務的并行執行是正確的,當且僅當其結果與按某一次序串行地執行它們時的結果相同時,稱這種并行調度策略為可串行化的調度。可串行化是并行事務正確性的唯一準則。

17.獨立獨立

18.緩沖池當某進程需要使用緩沖區時,提出申請,由管理程序分配給它,用完后釋放緩沖區.這樣可用少量的緩沖區為更多的進程服務.

19.數據頁

20.逆向工程逆向工程解析:PowerDesignerDataArchitect用于兩層的即概念層和物理層數據庫設計和數據庫構造。DataArchitect提供概念數據模型設計,自動的物理數據模型生成,針對多種數據管理系統的數據庫生成,開發工具的支持和高質量的文檔特性。使用其逆向工程能力,設計人員可以得到一個數據庫結構的“藍圖”可用于文檔和維護數據或移植到一個不同的DBMS。

21.B

22.C解析:直接插入排序的基本算法是:當插入第i(i>=1)個對象時,前面的v[0],V[1].……V[i-1]已經排好序,這時,用V[i]的關鍵碼與V[i-2],V[i-2],……的關鍵碼順序進行比較,找到插入位置即將v[i]插入,原來位置上的對象則向后移。由此可知,直接插入排序法的關鍵碼比較次數與對象的初始排列有關,準確的說,就是與i可以取的值有關。對于本題來說,A中i可以取1,B中i可以取2,C中i可以取3,D中i可以取1。所以C的關鍵碼比較次數最少。

23.B

24.C

25.B解析:根據數據庫的定義可知,數據庫是長期儲存在計算機內的、有組織的、可共享的數據集合。數據庫中的數據按一定的數據模型組織、描述和存儲,具有較小的冗余度、較高的數據獨立性、和易擴展性,并可為各種用戶所共享。

26.C

27.A解析:本題是對計算機的系統軟件和應用軟件特性的考查。系統軟件應提供友好的人機界面;系統軟件與硬件密切相關而與具體應用領域無關;應用軟件是在系統軟件基礎上開發的。所以選項A所述是錯誤的,正確答案為A。

28.C

29.D解析:FCB(文件控制塊)是系統為管理文件而設置的一個數據結構,是文件存在的標志,記錄了系統管理文件所需要的全部信息;FIFO是先進先出,一般表示某些算法(隊列操作、存儲頁面淘汰等);PCB是進程控制塊,描述進程的基本情況以及進程的運行變化過程。

30.A

31.\n【審題關鍵句】個位+于位與百位+十位,奇數,偶數,整除,從大到小排序。

\n【解題思路】

\n本題類似第24套試題,通過審題可以發現主要是對四位數的篩選條件有所不同,體現在兩個方面:①分解后重新組合成十位數的方式不同,參考答案的第8、9條語句重新指定兩位數的組合方式;②新組合的兩位數的奇偶性判斷及整除判斷,參考答案的第10條語句。

\n本題第10條語句中各條件表達式之間的關系有些復雜,大致思路是:①首先判斷新組合的兩位數的十位不為0,即表達式“gwbw”;②再判斷新組合的第一個兩位數為偶數,第二個兩位數為奇數,且兩個兩位數中至少有一個能被17整除的情況,兩個整除關系表達式式要用或運算符(11)連接,且用括號括起來先計算或運算,再與奇偶性判斷表達式進行與運算;③最后,在判斷新組合的第一個兩位數為奇數,第二個兩位數為偶數,且兩個兩位數中至少有一個能被17整除的情況(各表達式之間的連接關系同第2步)。完成以上3部分的表達式設計后,再通過與運算將3部分表達式連接起來。

\n【參考答案】

\n

\n

32.\n【審題關鍵句】四位數的千位<=百位<=十位<=個位,且四位數是偶數,統計出滿足此條件的個數,按從小大的順序存入數組。

\n【解題思路】

\n①首先,本題要定義多個變量,包括兩個循環變量循環i、i,一個用于數據交換的整型變量ab,以及分別用來存放四位數分解之后各位數的變量qw(千位)、bw(百位)、SW(十位)和gw(個位)。

\n②通過for循環依次對數組中的每個四位數進行分解,每分解一個四位數,根據題目要求,判斷其“千位<=百位<=十位<=個位”的條件是否滿足,并通過a[i]%2==0表達式判斷該四位數是否為偶數,各判斷表達式之間用運算符進行連接,當滿足條件時,則將a嘲的值賦給數組變量b[cnt],同時數組下標變量cnt的值加1。循環結束后,所有滿足條件的四位數都將保存到數組blent1中。

\n③將所有的四位數判斷完畢后,最后通過兩個for循環,對b[cnt]數組中的元素按從小到大的順序排序。

\n【參考答案】

\n

\n

33.\n【審題關鍵句】按每個數的后三位降序排列,然后取出滿足此條件的前10個數依次存入數組;如果后三位的數值相等,則按原先的數值進行升序排列。

\n【解題思路】本題類似第7套試題,通過審題可以發現主要有兩個不同點:①按每個數的后三位降序排列,參考答案的第5條語句,修改兩數組元素的大小比較符即可;②后三位的數值相等則按原先的數值進行升序排列,參考答案的第13條語句,同樣也是修改兩數組元素的大小比較符即可。

\n【參考答案】

\n

\n

\n

34.\n【審題關鍵句】讀入數值,奇數個數,偶數個數,數組下標為奇數的平均值。

\n【解題思路】

\n本題類似第42套試題,通過審題可以發現僅有一個不同點,即本題是計算數組下標為奇數的元素的平均值,參考答案的第6條語句。

\n【參考答案】

\n

\n

35.\n【審題關鍵句】計算金額,按產品代碼從小到大進行排列,相同的則按金額從小到大排列,結果存入結構數組。

\n【解題思路】

\n本題類似第57套試題,通過審題可以發現主要是排序條件的設置要求有所不同,參考答案的第8行進行修改即可。

\n【參考答案】

\n

\n

36.\n【審題關鍵句】四位數的千位>=百位>=十位>=個位,且四位數是奇數,統計出滿足此條件的個數,按從小到大的順序存入數組。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發現主要有兩個不同點:一是要求統計的四位數的條件是“千位>=百位>=十位>=個位”,二是要求該四位數是奇數,這兩個不同點都體現在參考答案的第8條語句中,對該語句進行修改即可,其中,可以判斷奇數的表達式是“a[i]%2”。

\n【參考答案】

\n

\n

37.\n【審題關鍵句】以行為單位從字符串左邊部分降序排序,排序后左邊部分與右邊部分進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理。

\n【解題思路】

\n①定義循環變量i、j、k和整型變量len、p。

\n②第一層for循環中,循環變量i從0開始,依次遞增直到其值等于20,實現對20行數據的逐行處理。在循環體中,對于i行首先調用函數strlen(xx[i])求得第i行字符串的長度,并把其值賦給變量len,再用1en除以2,得到第i行字符串長度的一半,賦給變量P。在第二層for循環中,循環變量J從0開始,依次遞過來增直到其值等于(p-1),在第三層for循環中,循環變量k從J+1開始,依次遞過來增直到其值等于P,比較字符xx[i][j]ASCII碼值與xx[i][k]ASCII碼值的大小,如果字符xx[i]啪的ASCII碼值小于xx[i][k]的ASCII碼值,則兩者進行互換實現對第i行字符串左半部分的字符串按降序排列。

\n③用變量len的值對2求余數,如果余數為1,則調用函數字符串拷貝函數strcpy,把從字符串xx[i]+P+1開始直到字符串xx[i]的結尾的子字符拷貝到字符串變量str中,再調用字符串連接函數stmcat把字符串xx[i]的中間字符連接到字符串變量str的后面,再調用字符串連接函數stmcat把字符串xx[i]的左半部分的子字符串連接到變量str的后面;如果余數不等于1,則調用字符串拷貝函數strcpy,把從字符串xx[i]+P開始直到字符串xx[i]的結尾的子字符拷貝到字符串變量str中,再調用字符串連接函數stmcat把字符串xx[i]的左半部分的子字符串連接到變量str的后面,實現字符串xx[i]左右部分子字符串的交換。

\n④調用字符串拷貝函數strcpy,把字符串變量str的值拷貝到字符串xx[i],實現把排序后的結果仍按行重新存入字符串數組XX中。

\n【參考答案】

\n

\n

38.【審題關鍵句】千位+十位組合與個位+百位組合,都是奇數,兩數相減結果大于等于0小于等于10,從大到小排序。

\n【解題思路】

\n①首先,本題要定義多個變量,包括兩侖循環變量循環i、j;用來存放四位數分解之后各位數的變量qw(千位)、bw(百位)、SW(十位)和gw(個位);兩個用來存放重新組合數字的變量newV1和newV2。

\n②通過for循環依次對數組中的每個四位數進行分解,每分解一個四位數,根據題目要求,對其各位數進行重新組合,形成兩個新的十位數,組合條件分別是原四位數的千位和十位組成一個十位數,個位和百位組成一個十位數,并將兩個新的十位數分別賦給變量newV1和newV2。

\n③數字重組完畢之后,再根據題目要求篩選滿足條件的四位數,本題需要考慮多個篩選條件:一是新組合的十位數中,其十位數不能為0,即原四位數的千位和個位數字不能為0;二是兩個新組合的十位數之差必須大于等于0小于等于10;三是兩個新組合的數字均為奇數。

\n④將同時滿足以上3個條件的四位數賦給數組b[cnt],同時數組下標值加1,當for循環執行完畢后,則將所有滿足條件的四位數全部存放到數組b[cnt]qb。

\n⑤最后通過兩個for循環,對數組b[cnt]中的元素按從大到小的順序排序,排序過程中,可用newV1或newV2作為數據交換的中間變量。

\n【參考答案】

\n

\n

39.\n【審題關鍵句】以行為單位從字符串左邊部分升序排序,排序后左邊部分與右邊部分進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理。

\n【解題思路】

\n本題類似第77套試題,通過審題可以發現主要是對字符串左邊部分排序時所采用的排序方式不同,參考答案的第11行,修改if條件語句的設置即可。

\n【參考答案】

\n

\n

40.\n【審題關鍵句】計算金額,按金額從大到小進行排列,相同的則按產品代碼從大到小排列,結果存入結構數組。

\n【解題思路】

\n本題類似第57套試題,通過審題可以發現主要是排序條件的設置要求有所不同,參考答案的第8行進行修改即可。

\n【參考答案】

\n

\n

\n

41.【解題思

溫馨提示

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

評論

0/150

提交評論