2011華為程式設計大賽初賽成都賽區試題(c語言b卷)

2021-05-25 15:04:57 字數 2078 閱讀 8488

2011年華為杯校園程式設計大賽

類別:軟體c 語言

程式設計題(共

3題,第一題20 分,第二題30 分,第三題50 分,共100 分。請上機編寫程式,按題目要求提交檔案。[詳見考試說明]

本試題採用自動測試用例進行評分,測試用例不對考生公開,凡不滿足提交要求導致不能執行或用例不通過,不予評分)。

1、

排序演算法(20分)l

問題描述

將給定的無序整數陣列降序排列後輸出,輸入的無序陣列長度為

n,型別為

unsigned int l

要求實現函式

void dscsort (const int inputarray, unsigned int n, int outputarray)

【輸入】

inputarray

: 給定的無序陣列 n

: 陣列長度

【輸出】

outputarray

:排序後的陣列

【返回】無 l

示例輸入:

inputarray=

輸出:outputarray=

2、查詢最大的不重複數(30分)l

問題描述

如果乙個數字十進位制表達時,不存在連續兩位相同,則稱之為「不重複數」。例如,

105、

1234

和12121

都是「不重複數」,而11、

100和

1225

不是。給定乙個正整數

a,返回大於

a的最小「不重複數」。a小於

100000 l

要求實現函式

unsigned int getnotrepeatnum(unsigned int lvalue)

【輸入】

lvalue

: 給定的數字,返回大於該值的最小不重複數

【輸出】無

【返回】大於

ivalue

的最小不重複數 l

示例輸入:

ivalue =54

返回:56

輸入:ivalue =10

返回:12

輸入:ivalue =98

返回:101

輸入:ivalue =21099

返回:21201

3、字串匹配(50分)l

問題描述

判斷包含萬用字元的匹配字串是否完全匹配輸入的字串,匹配字串中包含的萬用字元僅有『

*』和『?』,且萬用字元不會連續出現

。(要求完全匹配,而不是包含)

其中,萬用字元『

*』:代替

0個或多個字元,萬用字元『

?』:代替乙個字元 l

要求實現函式

int getmatchsta (const char *arrstr, const char *keystr)

【輸入】

arrstr

: 給定的字串

keystr

: 包含萬用字元的匹配字串

【輸出】無

【返回】是否匹配,匹配返回1 ,不匹配返回0 l

示例輸入:

」 abcdefg」, 「a*'」

返回:1

輸入:「tommababcabc」 , t?m*ab*abc

返回:1

int getmatchstr(const char* arrstr,const char* keystr)

}

2011百度之星程式設計大賽初賽A

第一題 圖示排列 研究發現,同乙個開發者開發的程式的圖示有很大的相似性。如果把同乙個開發者開發的應用放在一起,使用者很快就會厭倦相似的圖示,如果把這些圖示穿插擺放效果就會好很多。現在工程師想給使用者推薦來自m個開發者的n個應用,在推薦的時候這些應用的圖示將排成整齊的一行展示給使用者,相鄰兩個圖示之間...

2023年華為程式設計大賽題目

include include includeint findstat const char map,unsigned int iarrn,unsigned int ipathlen if map i x locationx i std queuemyqueue visited locationx ...

2023年百度之星程式設計大賽初賽B

圓環 時間限制 1000ms 描述乙個圓環上有n個位置,這n個位置按順時針依次標號為1,2,n。初始時圓環的每個位置上都有乙個1至n之間的整數,且每個整數只出現一次。任何時刻,你可以將圓環上的數全部逆時針旋轉乙個位置,即第i個位置上的數變為原來第i 1個位置上的數,第n個位置上的數變為原來第1個位置...