第三屆華為程式設計大賽 C語言試題

2021-05-25 15:13:54 字數 1388 閱讀 4272

程式設計題(共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

第三屆河南省程式設計大賽

includeusing namespace std int dp 200 int main int main y m 1 while su y if m x includeint main int i,j for i 2 i 32 i int n scanf d n while n include...

1016第三屆程式設計大賽 大優惠

include 廈門理工學院 計算機與資訊工程學院 黃潮欽程式描述 第三屆程式設計大賽 大優惠 time limit 1000ms memory limit 65536k total submit 1688 accepted 607 description 中國移動推出最新的手機資費優惠方案,按照這...

1019 第三屆程式設計大賽 汽車加油

description 一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。input 第一行有2 個正整數n和k 1 n 100,1 k 100 表示汽車加滿油後可行駛n公里,且旅途中有k個加油站。接下來的1 行中,有k 1 個整...