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個位置...