【2023年】內蒙古自治區烏蘭察布市全國計算機等級考試網絡技術模擬考試(含答案)_第1頁
【2023年】內蒙古自治區烏蘭察布市全國計算機等級考試網絡技術模擬考試(含答案)_第2頁
【2023年】內蒙古自治區烏蘭察布市全國計算機等級考試網絡技術模擬考試(含答案)_第3頁
【2023年】內蒙古自治區烏蘭察布市全國計算機等級考試網絡技術模擬考試(含答案)_第4頁
【2023年】內蒙古自治區烏蘭察布市全國計算機等級考試網絡技術模擬考試(含答案)_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

【2023年】內蒙古自治區烏蘭察布市全國計算機等級考試網絡技術模擬考試(含答案)學校:________班級:________姓名:________考號:________

一、單選題(10題)1.如果發送方使用的加密密鑰和接收方使用的解密密鑰不相同,從其中一個密鑰難以推出另一個密鑰,這樣的系統稱為()系統。

A.常規加密B.公鑰加密C.對稱加密D.單密鑰加密

2.關于網絡營銷的便利策略,下列哪個說法不正確()。

A.互聯網直接把生產者和顧客連在一起,對企業的現有渠道結構形成了巨大挑戰

B.互聯網商品直接展示在顧客面前,回答顧客疑問,接受顧客定單

C.網絡營銷使顧客購買的方便性(Conveniencetobuy)大大提高

D.便利策略是指企業營銷從顧客導向的渠道策略轉向企業主導的便利策略

3.下列對IPv6地址的表示中,錯誤的是()

A.::50D:BC:0:0:03DA

B.FE23::0:45:03/48

C.FE23:0:0:050D:BC::03DA

D.FF34:42:BC::0:50F:21:0:03D

4.下列關于入侵檢測系統探測器獲取網絡流量的方法中,錯誤的是()。

A.利用交換設備的鏡像功能B.在網絡鏈路中串接一臺交換機C.在網絡鏈路中串接一臺集線器D.在網絡鏈路中串接一臺分路器

5.常用數據備份方式包括完全備份、增量備份和差異備份,三種方式在數據恢復速度方面由快到慢的順序為()。

A.完全備份、增量備份、差異備份

B.完全備份、差異備份、增量備份

C.增量備份、差異備份、完全備份

D.差異備份、增量備份、完全備份

6.IP地址36/29的子網掩碼可寫為()

A.92

B.24

C.40

D.48

7.下列對Aironnet11000無線接入點進入快速配置頁面的描述中,錯誤的是()。

A.第一次配置無線接入點一般采用本地配置方式

B.使用5類以太網電纜連接PC機和無線接人點,并給無線接入點加電

C.在PC機獲得10.0.0.x的IP地址后,打開瀏覽器,并在地址欄里輸入無線接入點的IP地址,會出現輸入網絡密碼頁面

D.輸入密碼并按“回車”鍵后,出現接入點匯總狀態頁面,單擊“ExpressSetup”進入快速配置頁面

8.10Base-5型LAN的運行速度和支持的粗纜最大長度是()。

A.10Mbps,100mB.10Mbps,200mC.10Mbps,500mD.16Mbps,500m

9.下列關于IEEE802.11標準的描述中,錯誤的是()。

A.定義了無線結點和無線接人點兩種類型的設備

B.無線結點的作用是提供無線和有線網絡之間的橋接

C.物理層最初定義了FHSS、DSSS擴頻技術和紅外傳播三個規范

D.MAC層的CSMA/CA協議利用ACK信號避免沖突的發生

10.若服務器系統年停機時間為55分鐘,那么系統可用性至少達到()。

A.99%B.99.9%C.99.99%D.100.00%

二、填空題(10題)11.

第67題操作系統通常有4類組件:驅動程序、___________、接口庫和外圍部件。

12.對于打開的文件其唯一的識別依據是______。

13.TCP/IP體系結構可以分為4個層次,它們是應用層、傳輸層、和主機-網絡層。

14.利用存儲轉發原理傳送數據時,被傳送的數據單元相應可以分為兩類:報文和______。

15.身份認證的常用方法有:口令認證、持證認證和______。

16.(7)00-60-38-00-08-A6是一個_________地址。

17.

18.有一種攻擊不斷對網絡服務系統進行干擾,改變了網絡服務器正常的作業流程,由其執行的無關程序使系統響應速度減慢甚至癱瘓,影響了正常用戶的使用,甚至使合法用戶被排斥而不能獲得服務。這種攻擊叫做。

19.在客戶機/服務器模式中,主動發出請求的是______。

20.(11)回送地址通常用于網絡軟件測試和本地機器進程間通信,這類IP地址通常是以十進制數________開始的。

三、2.填空題(8題)21.世界上第一個網絡體系結構是IBM公司于1974年提出的,命名為______。

22.虛擬網絡的基礎是______技術。

23.ATM局域網仿真系統中,連接在ATM網絡中的主機與網橋可以從邏輯上劃分為若干個獨立的區域,每個區域稱為一個【】。

24.傳輸控制協議TCP與用戶數據報服務協議UDP在TCP/IP參考模型中______定義的。

25.虛擬網絡是建立在局域網交換機或ATM交換機之上的,它以【】方式來實現邏輯工作組的劃分與管理。

26.主板又稱母板,其中包括CPU、存儲器、【】、插槽以及電源等。

27.以太網交換機可以有多個端口,可以分為專用端口和【】。

28.1983年,ARPANET向TCP/IP的轉換全部結束,同時美國國防部將其分為兩個部分:ARPANET與______,前者已經退役,后者還在運行。

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

提示:若中間變量為PRtemp,則可以直接使用結構賦值語句進行解題;產品代碼比較請用函數strcmp進行解題。

例如:sell[i]=temp;

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

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

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

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

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

請勿改動數據文件in.dat中的任何數據、主函數main、讀函數readDat和寫函數writeDat的內容。

五、1.選擇題(3題)31.根據不同的安全需求確定計算機及其操作系統的安全等級。美國國防部1985年公布的“可信計算機系統評估標準”中將計算機系統的安全等級分為4類7級:D、C1、C2、B1、B2、B3、A,其中,最高安全等級為______。

A.D級B.C1級C.B1級D.A級

32.如果用戶希望將一臺計算機通過電話網接AInternet,那么他必須使用的設備為______。

A.調制解調器B.集線器C.交換機D.中繼器

33.以下關于應用軟件的描述中,正確的是______。

A.Access是電子表格軟件

B.PowerPoint是桌面出版軟件

C.InternetExplorer是瀏覽軟件

D.Excel是數據庫軟件

六、1.程序設計題(3題)34.已知數據文件IN27.DAT中存有300個4位數,并已調用讀函數readDat()把這些數存入數組a中,請編制一函數jsValue(),其功能是:求出千位數上的數加百位數上的數等于十位數上的數加個位數上的數的個數cnt,再把所有滿足此條件的4位數依次存入數組b中,然后對數組b的4位數從大到小進行排序,最后調用寫函數writeDat()把數組b中的數輸出到OUT27.DAT文件。

例如:7153,7+1=5+3,則該數滿足條件,存入數組b中,且個數cnt=cnt+1。

8129,8+1≠2+9,則該數不滿足條件,忽略。

注意:部分源程序已給出。

程序中已定義數組:a[300],b[300],已定義變量:cnt。

請勿改動主函數main()、讀函數readDat()和寫函數writeDat()的內容。

試題程序:

#include〈stdio.h>

inta[300],bi300],cnt=0;

voidjsValue()

{

}

main()

{

inti;

readDat();

jsValue();

writeDat();

printf("cnt=%d\n",cnt);

for(i=0;i〈cnt;i++)

printf("b[%d]=%d\n",i,b[i]);

}

readDat()

{

FILE*fp;

inti;

fp=fopen("IN27.DAT","r");

for(i=0;i〈300;i++)

fscanf(fp,"%d,",&a[i]

fclose(fp);

}

writeDat()

{

FILE*fp;

inti;

fp=fopen("OUT27.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i〈cnt;i++)

fprintf(fp,"%d,\n",b[i]);

fclose(fp);

}

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

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

例如,位置012345678

源字符串abcdhgfe

23498765

則處理后字符串hgfedcba

87659432

注意:部分源程序已給出。

請勿改動主函數main()、讀函數readDat()和寫函數writeDat()的內容。

試題程序:

#include〈stdio.h>

#include〈string.h>

#include〈conio.h>

charxx[20][80];

voidjsSort()

{

}

main()

{

readDat();

jsSort();

writeDat();

}

readDat()

{

FILE*in;

inti=0;

char*p;

in=fopen("IN22.DAT","r");

while(i〈20&&fgets(xx[i],80,in)!=NULL)

{

p=strchr(xx[i],'\n');

if(p)*p=0;

i++;

}

fclose(in);

}

writeDat()

{

FILE*out;

inti;

clrscr();

ut=fopen("OUT22.DAT","w");

for(i=0;i〈20;i++)

{

printf("%s\n",xx[i]);

fprintf(out,"%s\n",xx[i]);

}

fclose(out);

}

36.請編制函數ReadDa(()實現從文件IN83.DAT中讀取1000個十進制整數到數組xx中。請編制函數Compute()分別計算出xx中奇數的個數odd、奇數的平均值avel、偶數的平均值ave2及所有奇數的方差totfc的值。最后調用函數WrireDat()把結果輸出到OUT83.DAT文件中。

計算方差的公式如下:

設N為奇數的個數,xx[i]為奇數,ave1為奇數的平均值。

原始數據的存放格式是:每行存放10個數,并用逗號隔開(每個數均大于0且小于等于2000)。

注意:部分源程序已給出。

請勿改動主函數main()和輸寫函數WriteDat()的內容。

試題程序:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#defineMAX1000

intxx[MAX],odd=0,even=0;

doubleavel=0.0,ave2=0.0,totfc=0.0;

voidWriteDat(void);

intReadDat(void)

{

FILE*fp;

if((fp=fopen("IN83.DAT","r"))==NULL)return1;

fclose(fp);

return0;

}

voidCompute(void)

{

voidmain()

{

inti;

for(i=0;i<MAX;i++)

xx[i]=0;

if(ReadDat())

{

printf("數據文件IN83.DAT不能打開!\007\n");

return;

}

Compute();

printf("ODD=%d\nAVEl=%f\nAVE2=%f\nTOTFC=%f\n",odd,avel,ave2,totfc);

WriteDat();

voidWriteDat(void)

{

FILE*fp;

inti;

fp=fopen("OUT83.DAT","w");

fprintf(fp,"%d\n%lf\n%lf\n%lf\n",odd,avel,ave2,totfc);

fclose(fp);

}

參考答案

1.B解析:對稱加密也叫常規加密、保密密鑰加密或者單密鑰加密,指的是通信雙方的加密和解密都使用相同的密鑰。與對稱加密相對的是非對稱加密,又稱公鑰加密系統。公鑰加密系統有兩個不同的密鑰,私鑰被秘密保存;公鑰,不需要保密。從其中一個密鑰難以推出另一個密鑰。

2.D

3.DIPv4地址采用32位的點分四段十進制表示,而IPv6采用的是128位的冒分八段十六進制法。按照RFC2373定義,一個完整的IPv6地址的表示法:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx例如:2031:0000:1F1F:0000:0000:0100:11A0:ADDF。為了簡化其表示法,RFC2373提出每段中前面的0可以省略,連續的0可省略為'::',但只能出現一次,例如:1080:0:0:0:8:800:200C:417A可以簡寫為1080::8:800:200C:417A。類似于IPv4中的CDIR表示法,IPv6用前綴來表示網絡地址空間,比如:2001:250:6000::/48表示前綴為48位的地址空間。而D)選項中的FF34:42:BC::0:50F:21:0:03D已經超過8段,所以表示錯誤,答案選擇D。

4.BB【解析】根據網絡拓撲結構的不同,入侵檢測系統的探測器可以通過三種方式部署在被檢測的網絡中:網絡接口卡與交換設備的監控端口連接,通過交換設備的Span/Mirroi功能將流向各端口的數據包復制一份給監控端口,入侵檢測傳感器從監控端口獲取數據包進行分析和處理;在網絡中增加一臺集線器改變網絡拓撲結構;通過一個TAP分路器設備對交換式網絡中的數據包進行分析和處理。交換機不符合題目要求。因此選擇B選項。

5.B完全備份是指對整個系統或用戶指定的所有文件數據進行一次全面的備份;增量備份只是備份相對于上一次備份操作以來新創建或者更新過的數據;差異備份即備份上一次完全備份后產生和更新的所有新的數據。恢復速度完全備份最快,增量備份最慢,差異備份介于兩者之間。所以,恢復速度由快到慢的順序是完全備份>差異備份>增量備份。

6.D

7.CCiscoAironnet1100系列接入點是一款無線局域網收發器,主要用于獨立無線網絡的中心點或無線網絡和有線網絡之間的連接點。由于該AP出產時默認的設備管理地址為,因此與其連接的PC所配置的IP地址必須是10.0.0.X網段的地址,即~54中的任一IP地址。

8.C解析:10Base-5中10表示數據速率10Mbps,Base是指基帶傳輸,500m是最大傳輸距離。10Base-5網絡使用RG-8電纜和夾緊端子。夾緊端子可直接固定到電纜中,電纜連接成直線型總線,以提供101Mbps的可能傳輸速率。

9.B無線接入點AP的作用是提供無線和有線網絡之間的橋接,而非無線結點。因此選項B錯誤。

10.B系統的可用性用平均無故障時間(MTBF)來度量,即計算機系統平均能夠正常運行多長時間,才發生一次故障。系統的可靠性越高,平均無故障時間越長。可維護性用平均維修時間(MTBR)來度量,即系統發生故障后維修和重新恢復正常運行平均花費的時間。系統的可維護性越好,平均維修時間越短。計算機系統的可用性定義為:MTBF/(MTBF+MT—BR)×100%。題中服務器年停機時間為55分鐘,(365×24×60—50)/365×24×60×100%=99.989,因此可用性達到B項99.9%。因此選擇B選項。

11.內核

【解析】操作系統通常有4類組件;驅動程序、內核、接口庫和外圍組件。

12.文件句柄文件句柄解析:要從一個文件讀取數據,應用程序首先要調用操作系統函數并傳送文件名,再選擇一個到該文件的路徑來打開文件。該函數取回一個順序號,即文件句柄,該文件句柄對于打開的文件是唯一的識別依據。

13.互聯層TCP/IP的體系結構及其與OSI參考模型各層的大致對應關系如下:

—應用層:與OSI參考模型的應用層大致對應;

—傳輸層:與OSI參考模型的傳輸層大致對應:

—互聯層:與OSI參考模型的網絡層大致對應;

—主機-網絡層:與OSI參考模型的數據鏈路層和物理層大致對應。

14.報文分組報文分組解析:利用存儲轉發交換原理傳送數據時,被傳送的數據單元相應可以分為兩類:報文與報文分組。

15.生物識別生物識別解析:身份認證的常用方法有:口令認證、持證認證和生物識別。

16.(7)以太網物理地址

【解析】以太網的物理地址長度為48位,6個字節,表示時在兩個十六進制數之間用一個連字符隔開。

17.

18.拒絕服務攻擊一般認為,目前網絡中存在的威脅主要表現在以下方面。

—非授權訪問:沒有預先經過同意就使用網絡或計算機資源稱為非授權訪問,如:有意避開系統訪問控制機制;對網絡設備及資源進行非正常使用;擅自擴大權限,越權訪問信息。非授權訪問的主要形式有假冒、身份攻擊、非法用戶進入網絡系統進行違法操作、合法用戶以未授權方式進行操作等。信息泄露或丟失指敏感數據在有意或無意中被泄露或丟失,通常包括:信息在傳輸中丟失或泄露(如:黑客利用電磁泄漏或搭線竊聽等方式截獲機密信息;通過對信息流向、流量、通信頻度和長度等參數的分析,推算出用戶口令、賬號等重要信息),信息在存儲介質中丟失或泄露,通過建立隱蔽隧道等竊取敏感信息等。

—破壞數據完整性:主要手段有以非法手段竊得對數據的使用權,刪除、修改、插入或重發某些重要信息,以取得有益于攻擊者的響應;惡意添加、修改數據,以干擾用戶的正常使用。

—拒絕服務攻擊:主要手段有不斷對網絡服務系統進行干擾,改變其正常的作業流程;執行無關程序使系統響應速度減慢甚至癱瘓,影響正常用戶的使用,甚至使合法用戶被排斥而不能進入計算機網絡系統或不能得到相應的服務。

—利用網絡傳播病毒:通過網絡傳播計算機病毒,其破壞性大大高于單機系統,而且用戶很難防范。

19.客戶機客戶機解析:客戶機/服務器的工作模式為:應用程序之間為了能順利地通信,服務器應處于守候狀態,并監視客戶機的請求。客戶機發出請求,該請求經互聯網傳送給務器,-旦服務器接收到這個請求,就可以執行請求指定的任務,并將執行的結果經互聯網回送給客戶機機。

20.(11)127【解析】回送地址為A類網絡地址中的一個保留地址,用于網絡軟件測試以及本地機器進程間通信。無論什么程序,一旦使用回送地址發送數據,協議軟件不進行任何網絡傳輸,立即將之返回。回送地址的IP為。

21.系統網絡體系結構(SNA)系統網絡體系結構(SNA)解析:世界上第一個網絡體系結構是IBM公司于1974年提出的,命名為“系統網絡體系結構”。在此之后,許多公司紛紛提出了各自的網絡體系結構。

22.交換交換解析:虛擬網絡是建立在交換技術的基礎上的。

23.ELANELAN解析:ATM局域網仿真系統中,連接在ATM網絡中的主機與網橋可以從邏輯上劃分為若干個獨立的區域,每個區域稱為一個ELAN。

24.傳輸層傳輸層解析:傳輸層定義了兩種協議:傳輸控制協議TCP與用戶數據報服務協議UDP。

25.軟件軟件解析:虛擬網絡是建立在局域網交換機或ATM交換機之上的,它以軟件方式來實現邏輯工作組的劃分與管理,邏輯工作組的結點組成不受物理位置的限制。

26.總線總線解析:主板是計算機主機的主要部件,由5部分組成:CPU、存儲器、總線、插槽和電源。

27.共享端口共享端口解析:如果一個端口只連接一個結點,這個結點就可以獨占帶寬,這類端口通常被稱為專用端口;如果一個端口連接一個以太網,那么這個端口將被以太網中的多個結點所共享,這類端口就稱為共享端口。

28.MILNETMILNET解析:1983年,ARPANET向TCP/IP的轉換全部結束,同時美國國防部將其分為兩個部分。一部分仍叫ARPANET,用于進一步的研究工作;另一部分稍大些,稱為著名的MILNET,用作軍方的非機密通信。

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

\n【解題思路】

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

\n【參考答案】

\n

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

\n【解題思路】①定義循環變量i、j、k和整型變量len、P。

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

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

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

\n【參考答案】

\n

31.D解析:美國國防部在1985年正式頒布了《DoD可信計算機系統評估標準》。在這個標準中,對于計算機系統的安全等級做了7級劃分:D,C1,C2,B1,B2,B3,A。其中D級為最小保護,幾乎沒有專門的機制進行安全性保護。在以后的各級中,逐漸加強對用戶訪問權限的控制。

32.A解析:計算機通過電話網接入Internet時,需使用調制解調器進行模擬信號與數字信號的轉換。

33.C解析:Access是數據庫軟件;PowerPoint是投影演示軟件;Excel是電子表格軟件;InternetExplorer是瀏覽軟件。

34.voidjsValue(){intithouhuntendataj;for(i=0;i〈300;i++){thou=a[i]/1000;/*求千位數字*/hun=a[i]%1000/100;/*求百位數字*/ten=a[i]%100/10;/*求十位數字*/data=a[i]%10;/*求個位數字*/if(thou+hun==data+ten)/*如果千位數加百位數等于十位數加個位數*/{b[cnt]=a[i];/*把滿足條件的4位數依次存入數組b中*/cnt++;/*計算滿足條件的數的個數*/}}for(i=0;i〈cnt-1;i++)/*對數組b的4位數從大到小進行排序*/for(j=i+1;j〈cnt;j++)if(b[i]〈b[j]){data=b[i];b[i]=b[j];b[j]=data;}}voidjsValue()\r\n{inti,thou,hun,ten,data,j;\r\nfor(i=0;i〈300;i++)\r\n{\r\nthou=a[i]/1000;/*求千位數字*/\r\nhun=a[i]%1000/100;/*求百位數字*/\r\nten=a[i]%100/10;/*求十位數字*/\r\ndata=a[i]%10;/*求個位數字*/\r\nif(thou+hun==data+ten)/*如果千位數加百位數等于十位數加個位數*/\r\n{\r\nb[cnt]=a[i];/*把滿足條件的4位數依次存入數組b中*/\r\ncnt++;/*計算滿足條件的數的個數*/\r\n}\r\n}\r\nfor(i=0;i〈cnt-1;i++)/*對數組b的4位數從大到小進行排序*/\r\nfor(j=i+1;j〈cnt;j++)\r\nif(b[i]〈b[j])\r\n{\r\ndata=b[i];\r\nb[i]=b[j];\r\nb[j]=data;\r\n}\r\n}解析:根據題意可知,函數jsValue()用于實現兩個功能:一是找出滿足條件的數,并存放在數組b中:二是對數組b中的數進行從大到小的排序。首先來找出“千位數上的數加上百位數上的數等于十位數上的數加上個位數上的數”的4位數。利用一個for循環來不斷從數組a中取出4位數,并對取出的數進行條件判斷。由于這里涉及到要對4位數的每一位進行判斷,因此,“thou=a[i]/1000;hun=a[i]%1000/100;ten=a[i]%100/10;dam=a[i]%10;”這4條語句就可以得到當前被判斷的4位數的千位數、百位數、十位數及個位數。之后,執行條件判斷語句“if(thou+hun==data+ten)”,并把滿足條件的4位數存入數組b中。變量cnt用來統計滿足條件的數的個數。將所有滿足條件的數取出后利用選擇法對其進行排序,即拿當前元素依次和它后面的元素進行比較,發現有大于該數的,就將這兩個數進行交換。最終數組b的元素就是有序存放的。

35.voidjsSort(){intijkstr1half;charch;for(i=0;i〈20;i++){str1=strlen(xx[i]);/*求字符串的長度*/half=str1/2;for(j=0;j〈half-1;j++)/*將左邊部分按字符的ASCII值降序排序*/for(k=j+1;k〈half;k++)if(xx[i][j]〈xx[i][k]){ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}for(j=half-1k=str1-1;j>=0;j--k--)/*將左邊部分和右邊部分的對應字符互換位置*/{ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}}}voidjsSort()\r\n{\r\ninti,j,k,str1,half;\r\ncharch;\r\nfor(i=0;i〈20;i++)\r\n{\r\nstr1=strlen(xx[i]);/*求字符串的長度*/\r\nhalf=str1/2;\r\nfor(j=0;j〈half-1;j++)/*將左邊部分按字符的ASCII值降序排序*/\r\nfor(k=j+1;k〈half;k++)\r\nif(xx[i][j]〈xx[i][k])\r\n{\r\nch=xx[i][j];\r\nxx[i][j]=xx[i][k];\r\nxx[i][k]=ch;\r\n}\r\nfor(j=half-1,k=str1-1;j>=0;j--,k--)/*將左邊部分和右邊部分的對應字符互換位置*/\r\n{\r\nch=xx[i][j];\r\nxx[i][j]=xx[i][k];\r\nxx[i][k]=ch;\r\n}\r\n}\r\n}解析:本題考查對二維字符數組的處理。由于對二維字符數組的操作是按照先行后列的順序,因此,需要首先求得各行字符串的長度(利用求字符串長度的strlen()函數),之后借助循環結構逐個訪問各行中的每一個字符。在本題中,應先確定各行中字符串的中間位置(長度的一半就是中間位置),之后先對中間位置以前的字符進行降序排序,排序過程如下:依次用每一個位置的字符與它后面的所有字符(到中間位置前一個字符結束)進行比較,如果發現某字符的ASCII碼值大于當前被比較的字符的ASCII碼值,則將該字符與當前字符進行交換,交換過后繼續與其后面的字符進行比較。最終比較所得的結果是第一個被比較的位置總是存放著最大的字符,第二個位置總是存放著次大的字符,以此類推就實現了從大到小的排序功能。接著要做的工作是把中間位置前的一個位置定為初始位置,字符串中的最后一個位置也視為初始位置,讓兩個位置所對應的字符進行交換,交換過后,這兩個位置值(也就是下標值)分別前移,再進行對應位置字符的交換。最終實現了題目要求。

36.intReadDat(void){FILE*fp;intij;if((fp=fopen("IN83.DAT""r"))==NULL)return1;for(i=0;i

溫馨提示

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

評論

0/150

提交評論