華爲OJ之中級篇Ⅱ

1.整型字符串排序

題目描述:
給定字符串內有很多正整數,要求對這些正整數進行排序,然後返回排序後指定位置的正整數
排序要求:按照每個正整數的後三位數字組成的整數進行從小到大排序
1)如果不足三位,則按照實際位數組成的整數進行比較
2)如果相等,則按照輸入字符串中的原始順序排序
說明(以下內容考生無須檢查,調用者保證):
1) 字符串以’\0’結尾,僅包含數字、空格
2) 字符串內正整數之間以單個空格分隔,字符串首尾沒有空格
3) 正整數格式爲十進制,大小:1~1000000,正整數的數字非零開始
示例:
如字符串內容
1223 22 3232 2016
按照規定排序後
2016 22 1223 3232
查詢排序後的第3個數是
1223

2.字符轉換Univesity

題目描述:
字符替換,按照替換規則,將輸入的字符串做轉換;其它字符不作處理。
詳細描述:
題目背景
字母的替換規則,如下所示,A被E替換,B被C替換,依次類推。
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
E C F A J K L B D G H I V W Z Y M N O P Q R S T U X

a b c d e f g h i j k l m n o p q r s t u v w x y z
e r w q t y g h b n u i o p s j k d l f a z x c v m

3.字符串分割

題目描述:
連續輸入字符串(輸出次數爲N,字符串長度小於100),請按長度爲8拆分每個字符串後輸出到新的字符串數組,
長度不是8整數倍的字符串請在後面補數字0,空字符串不處理。
例如:
輸入:abc
12345789
輸出:abc00000
12345678
90000000
接口函數設計如下:
/*****************************************************************************
功能:存儲輸入的字符創
輸入:字符串
輸出:無
返回:0表示成功,其它返回-1
******************************************************************************/
int AddString(char *strValue);

/****************************************************************************
功能:獲取補位後的二維數組的長度
輸入:無
輸出:無
返回:二維數組長度
*****************************************************************************/
int GetLength();

/*****************************************************************************
功能:將補位後的二維數組,與輸入的二維數組做比較
輸入:strInput:輸入二維數組,iLen:輸入的二維數組的長度
輸出:無
返回:若相等,返回0;不相等,返回-1.其它:-1;
******************************************************************************/
int ArrCmp(char strInput[][9],int iLen);

4.圓桌遊戲

題目描述:
N個人圍坐在一個圓桌上,順時針報數,報數的初始值爲第一個人設置。當有成員報出的數字爲7的倍數或數字中包含7,則該人退出圓桌,而後由下一個人開始重新繼續該遊戲。
實現以下接口:
1、設定輸入原始的圓桌遊戲的人數。以最先開始報數的人編號爲1,順時針排序。
2、設定第一個人的初始值,獲取按照規則退出圓桌的人的編號。
3、結束遊戲。
樣例:
比如初始化爲4人的遊戲:第1輪初始值爲1,退出爲3;第2輪初始值爲4,退出爲4號;第三輪初始值爲16,退出爲2號;第四輪初始值爲6,退出爲1號;

5.淵子賽馬

題目描述:
賽馬是一古老的遊戲,早在公元前四世紀的中國,處在諸侯割據的狀態,歷史上稱爲“戰國時期”。在魏國作官的孫臏,因爲受到同僚龐涓的迫害,被齊國使臣救出後,到達齊國國都。 賽馬是當時最受齊國貴族歡迎的娛樂項目。上至國王,下到大臣,常常以賽馬取樂,並以重金賭輸贏。田忌多次與國王及其他大臣賭輸贏,屢賭屢輸。一天他賽馬又輸了,回家後悶悶不樂。孫臏安慰他說:“下次有機會帶我到馬場看看,也許我能幫你。” 孫臏仔細觀察後發現,田忌的馬和其他人的馬相差並不遠,只是策略運用不當,以致失敗。 比賽前田忌按照孫臏的主意,用上等馬鞍將下等馬裝飾起來,冒充上等馬,與齊王的上等馬比賽。第二場比賽,還是按照孫臏的安排,田忌用自己的上等馬與國王的中等馬比賽,在一片喝彩中,只見田忌的馬竟然衝到齊王的馬前面,贏了第二場。關鍵的第三場,田忌的中等馬和國王的下等馬比賽,田忌的馬又一次衝到國王的馬前面,結果二比一,田忌贏了國王。 就是這麼簡單,現在淵子也來賽一賽馬。假設每匹馬都有恆定的速度,所以速度大的馬一定比速度小的馬先到終點(沒有意外!!)。不允許出現平局。最後誰贏的場數多於一半(不包括一半),誰就是贏家(可能沒有贏家)。淵子有N(1≤N≤1000)匹馬參加比賽。對手的馬的數量與淵子馬的數量一樣,並且知道所有的馬的速度。聰明的你來預測一下這場世紀之戰的結果,看看淵子能否贏得比賽。
輸入
輸入有多組測試數據。 每組測試數據包括3行: 第一行輸入N(1≤N≤1000)。表示馬的數量。 第二行有N個整型數字,即淵子的N匹馬的速度。 第三行有N個整型數字,即對手的N匹馬的速度。 當N爲0時退出。
輸出
若通過聰明的你精心安排,如果淵子能贏得比賽,那麼輸出“YES”。 否則輸出“NO”。
樣例輸入
5
2 3 3 4 5
1 2 3 4 5
4
2 2 1 2
2 2 3 1
0樣例輸出
YES
NO接口說明
原型:char * IsYuanziWin(unsigned int num, unsigned int * speed_yz, unsigned int * speed_op)
功能:判斷yuanzi 的馬是否會贏?yuanzi 的馬贏了,返回 YES. 否則返回 NO
輸入參數:
unsigned int num: 賽馬的數量; (1<= num <=1000)
unsigned int * speed_yz: yuanzi 的馬的速度;
unsigned int * speed_op: 對手的馬的速度;
輸出參數:

返回值:
char * 型 的字符串,yuanzi 的馬贏了,返回 YES. 否則返回 NO;

6.英文金曲大賽

題目描述:
我們在“淵子數”的題目中已經瞭解了淵子是個什麼樣的人了,他在大一的時候參加過工商學院的“英語聚樂部”。告訴你個祕密,這個俱樂部是個好地方,不但活動精彩而且有MM。 這不,英語俱樂部舉辦了一個叫做“英文金曲大賽”的節目。這個節目有好多人蔘加,這不,成績出來了,淵子當是很勇敢,自告奮勇接下了算出大家的總得分的任務。 當時有7個評委,每個評委都要給選手打分,現在要求去掉一個最高分和去掉一個最低分,再算出平均分。結果精確到小數點後兩位。
樣例輸入
10 10 10 10 10 10 9 xiaoyuanwang
0 0 0 0 0 0 0 beast樣例輸出
xiaoyuanwang 10.00\nbeast 0.00接口說明
函數原型:
void GetResult(char* pInput[], int Num, char* pResult);
輸入參數(指針指向的內存區域保證有效): char* pInputString:字符串數組,是輸入的成績和姓名。分數是0-10的整數,名字的長度不超過30個字符 int Num:整數,參賽選手的數量,2 <= Num <= 26。輸出參數(指針指向的內存區域保證有效): char* pResult:一塊buffer,輸出所有參賽者的姓名和平均分(保留2位小數)。格式要求如下: 1、姓名在前,平均分在後,中間由一個空格隔開; 2、每行參賽者的成績佔一行(最後一個參賽者成績之後不要換行符); 3、輸出成績按輸入順序排序。 返回值: void

7.一元多項式化簡

題目描述:
背景:
編程實現如下功能:對輸入的一元多項式,進行同類項合併,並按指數降序排序,輸出處理後的一元多項式。
說明:
l 多項式由若干個單項式組成,單項式之間爲加、減(+,-)關係。
l 單項式指數字與字母冪的乘積構成的代數式。對一元多項式,字母只有一種。
l 同類項合併指將多項式中指數相同的單項式,係數經過加減求和,合併爲一個單項式。按指數降序指多項式中,單項式按指數從大到小順序相連。
格式說明
一元多項式輸入輸出時以字符串形式表示,格式如下
l單項式之間用單個加減運算符相連,運算符:+,-
2單項式由係數、字母、指數標識符、指數依次直接相連組成,各部分均不能省略。
係數:只由若干0到9數字字符組成(係數不等於0,且不以0開頭)
字母:X
指數標識符:^
指數:只由若干0到9數字字符組成(指數可等於0,不等於0時不以0開頭)
3其他約定
輸入不爲空串,輸出若爲0則以空串表示
字符串中除以上字符,不包含空格等其他字符,字符串尾部以’\0’結束
多項式中第一個單項式前加運算時省略+符號,減運算時有-符號
注意:輸入多項式符合上述格式,無需檢查;輸出多項式格式由考生程序保證
規格
輸入多項式滿足如下規格,考生程序無需檢查:
–0<單項式係數<=1000<>
–0<=單項式指數<=3000<>
–單項式個數不限制,但同類項合併處理後,單項式的係數小於65535。
示例
例一
輸入:
"7X^4-5X^6+3X^3"
輸出:
"-5X^6+7X^4+3X^3"

例二
輸入:
"-7X^4+5X^6-3X^3+3X^3+1X^0"
輸出:
"5X^6-7X^4+1X^0"

答案點這裏


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章