C算法提高訓(xùn)練題_第1頁
C算法提高訓(xùn)練題_第2頁
C算法提高訓(xùn)練題_第3頁
C算法提高訓(xùn)練題_第4頁
C算法提高訓(xùn)練題_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——C算法提高訓(xùn)練題C提高題二

題1:高精度加法

在C/C++語言中,整型所能表示的范圍一般為-231到231(大約21億),即使longlong型,一般也只能表示到-263到263。要想計算更加規(guī)模的數(shù),就要用軟件來擴(kuò)展了,譬如用數(shù)組或字符串來模擬更多規(guī)模的數(shù)及共運(yùn)算。

現(xiàn)在輸入兩個整數(shù),請輸出它們的和。

輸入格式

兩行,每行一個整數(shù),每個整數(shù)不超過1000位

輸出格式

一行,兩個整數(shù)的和。

樣例輸入

15464315464465465482321654151

樣例輸出

15464797786119616

數(shù)據(jù)規(guī)模和約定

每個整數(shù)不超過1000位

題2:6-9刪除數(shù)組中的0元素

編寫函數(shù)CompactIntegers,刪除數(shù)組中所有值為0的元素,其后元素向數(shù)組首端移動。注意,CompactIntegers函數(shù)需要接收數(shù)組及其元素個數(shù)作為參數(shù),函數(shù)返回值應(yīng)為刪除操作執(zhí)行后數(shù)組的新元素個數(shù)。

輸入時首先讀入數(shù)組長度,再依次讀入每個元素。將調(diào)用此函數(shù)后得到的數(shù)組和函數(shù)返回值輸出。

樣例輸入

7

2043005

樣例輸出

24354

題3:3-2字符串輸入輸出函數(shù)

編寫函數(shù)GetReal和GetString,在main函數(shù)中分別調(diào)用這兩個函數(shù)。在讀入一個實數(shù)和一個字符串后,將讀入的結(jié)果依次用printf輸出。

兩次輸入前要輸出的提醒信息分別是\〞和\

樣例輸入

9.56hello

樣例輸出

pleaseinputanumber:pleaseinputastring:9.56hello

題4:進(jìn)制轉(zhuǎn)換

程序提醒用戶輸入三個字符,每個字符取值范圍是0-9,A-F。然后程序會把這三個字符轉(zhuǎn)化為相應(yīng)的十六進(jìn)制整數(shù),并分別以十六進(jìn)制,十進(jìn)制,八進(jìn)制輸出。輸入格式:輸入只有一行,即三個字符。

輸出格式:輸出只有一行,包括三個整數(shù),中間用空格隔開。輸入輸出樣例

樣例輸入

FFF

樣例輸出

FFF40957777

題5:c++_ch06_02

編寫并測試如下函數(shù):

voidAdd(inta[],intm,intb[],intn);

該函數(shù)將數(shù)組b的前n個元素追加到數(shù)組a的前m個元素后,假定數(shù)組a具有至少存放m+n個元素的空間。例如,假使數(shù)組a為{22,33,44,55,66,77,88,99},數(shù)組b為{20,30,40,50,60,70,80,90},則調(diào)用Add(a,5,b,3)后,將把數(shù)組a變?yōu)閧22,33,44,55,66,20,30,40}。注意數(shù)組b并沒有改變,而且數(shù)組a中只需改變n個元素。

測試

輸入:4行。第一行為兩個整數(shù):m,n,并以空格隔開,分別表示將要輸入的數(shù)組a和數(shù)組b的元素的個數(shù)。其次行為m個整數(shù),為數(shù)組a的元素;第三行為n個整數(shù),為數(shù)組b的元素。第四行為兩個整數(shù)m1,n1,表示把數(shù)組b的前n1個元素追加到數(shù)組a的前m1個元素后。

輸出:1行。第一行為最終數(shù)組a中的元素,兩個元素之間以逗號隔開。最終一個元素輸出后,輸出一個空行。

參考程序

#include#includeusingnamespacestd;

voidDisp(inta[],intn){

for(inti=0;i>m>>n;a=newint[m+n];b=newint[n];for(i=0;i>a[i];

for(i=0;i>b[i];

intm1,n1;cin>>m1>>n1;

//請補(bǔ)充完整

return0;}

題6:c++_ch03_02

PASCAL三角是形狀如下的三角矩陣:111

121133114641

在PASCAL三角中的每個數(shù)是一個組合C(n,k)。

C(n,k)=(((((((n/1)(n-1))/2(n-2))/3)***(n-k+2))/(k-1))(n-k+1))/k

公式中交替使用乘法和除法,每次將從n開始遞減的一個值相乘,然后除以下一個從1開始遞增的值。假使對行和列從0開始計數(shù),則數(shù)字C(n,k)在n行k列。例如C(6,2)在第6行第2列。編程輸出指定階數(shù)的PASCAL三角矩陣。例如下面給出的是12階PASCAL三角形矩陣。

編寫程序,使運(yùn)行結(jié)果為:11112113311464115101051161520156117213535217118285670562881193684126126843691110451202102522101204510111155165330462462330165551111126622049579292479249522066121

該題的詳細(xì)文檔及程序框架請從網(wǎng)絡(luò)學(xué)堂下載!

題7:c++_ch02_03

編寫程序?qū)崿F(xiàn)“剪刀,石頭,布〞游戲。在這個游戲中,兩個人同時說“剪刀〞,“石頭〞或“布〞,壓過另一方的為勝者。規(guī)則是:“布〞好過“石頭〞,“石頭〞好過“剪刀〞,“剪刀〞好過“布〞。要求:選擇結(jié)構(gòu)中使用枚舉類型,結(jié)果的輸出也使用枚舉類型表示。

輸入:兩個數(shù),范圍為{0,1,2},用空格隔開。0表示石頭,1表示布,2表示剪刀。這兩個數(shù)分別表示兩個人所說的物品。

輸出:假使前者贏,輸出1。假使后者贏,輸出-1。假使是平局,輸出0。

題8:c++_ch02_02

使用Switch語句編寫一個模擬簡單計算器的程序。依次輸入兩個整數(shù)和一個字符,并用空格隔開。假使該字符是一個“+〞,則打印和;假使該字符是一個“-〞,則打印差;假使該字符是一個“*〞,則打印積;假使該字符是“/〞,則打印商;假使該字符是一個“%〞,則打印余數(shù)。打印結(jié)果后輸出一個空行。

題9:QuadraticEquation

求解方程ax2+bx+c=0的根。要求a,b,c由用戶輸入,并且可以為任意實數(shù)。輸入格式:輸入只有一行,包括三個系數(shù),之間用空格格開。

輸出格式:輸出只有一行,包括兩個根,大根在前,小根在后,無需考慮特別狀況,保存小數(shù)點(diǎn)后兩位。

輸入輸出樣例

樣例輸入

2.57.51.0

樣例輸出

-0.14-2.86

題10:溫度轉(zhuǎn)換

編寫一個程序,輸入一個攝氏溫度,輸出相應(yīng)的華氏溫度。在輸出時,保存小數(shù)點(diǎn)后面兩位。輸入格式:輸入只有一個整數(shù),即攝氏溫度。輸出格式:輸出只有一實數(shù),即相應(yīng)的華氏溫度。輸入輸出樣例

樣例輸入

35

樣例輸出

95.00

題11:征稅程序

稅務(wù)局希望你幫他們編寫一個征稅程序,該程序的功能是:首先輸入某公司的年銷售額sale和稅率rate,然后程序?qū)⒂嬎愠鱿鄳?yīng)的稅額tax,并把它顯示在屏幕上。計算公式是:tax=sale*rate。

輸入格式:輸入只有一行,包括兩個數(shù)據(jù),即年銷售額和稅率。

輸出格式:輸出只有一行,包括一個實數(shù),即相應(yīng)的稅額,保存到小數(shù)點(diǎn)后兩位。輸入輸出樣例

樣例輸入

50000.50.1

樣例輸出

5000.50

獨(dú)立實現(xiàn)標(biāo)準(zhǔn)字符串庫的strcmp函數(shù),即字符串比較函數(shù),從鍵盤輸入兩個字符串,按字典序比較大小,前者大于后者輸出1,前者小于后者輸出-1,兩者相等輸出0。樣例輸入:appleone樣例輸出:-1樣例輸入:hellohe樣例輸出:1樣例輸入:hellohello樣例輸出:0

題22:任意年月日歷輸出

已知2023年1月1日為星期一。設(shè)計一函數(shù)依照下述格式打印2023年以后(含)某年某月的日歷,2023年以前的拒絕打印。為完成此函數(shù),設(shè)計必要的輔助函數(shù)可能也是必要的。其中輸入為年分和月份。樣例輸入:20231樣例輸出:Calendar2023-01SuMoTuWeThFrSa12345678910111213141516171819202122232425262728293031樣例輸入:20239樣例輸出:Calendar2023-09SuMoTuWeThFrSa123456789101112131415161718192021222324252627282930注意:短線“-〞個數(shù)要與題目中一致,否則系統(tǒng)會判為錯誤。

題23:求最大公約數(shù)

編寫一函數(shù)gcd,求兩個正整數(shù)的最大公約數(shù)。樣例輸入:515樣例輸出:5樣例輸入:72樣例輸出:1題24:素數(shù)判斷

編寫一函數(shù)IsPrime,判斷某個大于2的正整數(shù)是否為素數(shù)。樣例輸入:5樣例輸出:yes樣例輸入:9樣例輸出:no注意:是素數(shù)輸出yes,不是素數(shù)輸出no,其中yes和no均為小寫。

題25:輸出日歷

依照下述格式打印2023年12月日歷:Calendar2023-12SuMoTuWeThFrSa12345678910111213141516171819202122232425262728293031注意:表頭和表中的英文字符大小寫要與題目中一致,短線“-〞個數(shù)要與題目中一致,否則系統(tǒng)會判為錯誤。

題26:輸出九九乘法表

編制程序,依照下述格式打印九九乘法表。輸出樣例:Nine-by-nineMultiplicationTable12345678911224336944812165510152025661218243036771421283542498816243240485664991827364554637281注意:表頭的大小寫要和樣例一致,短線“-〞個數(shù)要與樣例中一致,否則系統(tǒng)會判為錯誤。

題27:輸出正反三角形

使用循環(huán)結(jié)構(gòu)打印下述圖形,打印行數(shù)n由用戶輸入。圖中每行事實上包括兩部分,中間間隔空格字符數(shù)m也由用戶輸入。樣例輸入n,m:54樣例輸出:**************************************************注意:兩行之間沒有空行。

題28:利息計算

編制程序完成下述任務(wù):接受兩個數(shù),一個為用戶一年期定期存款金額,一個為依照百分比格式表示的利率;程序計算一年期滿

后本金與利息總額。說明:(1)存款金額以人民幣元為單位,可能確切到分;(2)輸入利率時不需要輸入百分號,例如一年期定期存款年利率

為2.52%,用戶輸入2.52即可;(3)依照國家法律,存款利息所得需繳納20%的所得稅,計算結(jié)果時所得稅部分應(yīng)扣除。要求輸出小數(shù)點(diǎn)后嚴(yán)格保存兩位小數(shù)。

樣例輸入

100002.52

樣例輸出

10201.60

題29:格式化數(shù)據(jù)輸出

編制程序,輸出下述數(shù)據(jù)。說明:(1)表中數(shù)據(jù)來自總參謀部測繪局編制的《世界地圖集》(星球地圖出版社,2023年1月第2版),數(shù)據(jù)可能已不確鑿;(2)面積單位為萬平方公里,人口單位為萬人,GDP單位為十億美元;(3)表中所有數(shù)據(jù)都必需以變量的形式保存;(4)假使不知道每字段寬度終究為多少,請細(xì)心數(shù)數(shù)作為分隔標(biāo)記的短橫數(shù)目。COUNTRYAREA(10Kkm2)POP.(10K)GDP(Billion$)China960.00129500.001080.00Iceland10.3027.578.20India297.4797000.00264.80Madagascar62.701635.003.60Maldive0.029827.800.23注意:輸出時空格與短線的數(shù)量要與上面格式嚴(yán)格一致,否則系統(tǒng)會判為錯誤。

題30:算術(shù)運(yùn)算

編寫一程序,接受用戶輸入的兩個整數(shù),并計算它們的和、差、積、商,程序運(yùn)行時候輸入輸出例子如下所示。樣例輸入:35樣例輸出:3+5=83-5=-23*5=153/5=0注意:輸出要嚴(yán)格依照+-*/的順序,分四行輸出,而且中間不能有空格,否則系統(tǒng)會判為錯誤。題31:圖形輸出

編寫一程序,在屏幕上輸出如下內(nèi)容:X|X|X++||++O|O|O

注意:此題請同學(xué)們嚴(yán)格依照圖形的格式輸出,對齊,其中X和O為大寫,否則系統(tǒng)會判為錯誤。

題32:尋覓三位數(shù)

將1,2,?,9共9個數(shù)分成三組,分別組成三個三位數(shù),且使這三個三位數(shù)構(gòu)成1:2:3的比例,試求出所有滿足條件的三個三位數(shù)。例如:三個三位數(shù)192,384,576滿足以上條件。

輸入格式

無輸入文件

輸出格式

輸出每行有三個數(shù),為滿足題設(shè)三位數(shù)。各行為滿足要求的不同解。

題33:填充蛋糕

編程計算涂滿高為2,半徑為r的圓形蛋糕表面,需要多少表面積的奶油(只要涂上表面和側(cè)面)讀入一個數(shù)r,輸出需要奶油的表面積,結(jié)果保存一位小數(shù)

樣例輸入

5.0

樣例輸出

141.4

題34:數(shù)的運(yùn)算

輸入一個正整數(shù)(范圍[1..10000]),打印其平方(不保存小數(shù)位)、平方根、倒數(shù)。(用指針實現(xiàn),保存2位小數(shù),輸出每個數(shù)之間以一個空格隔開)

樣例輸入

2

樣例輸出

41.410.50

題35:選最大數(shù)

輸入3個整數(shù)a、b、c,(數(shù)的范圍是[1,10000])輸出其中最大的數(shù)。(用指針實現(xiàn))

樣例輸入

251

樣例輸出

5

題36:時間轉(zhuǎn)換

輸入n分鐘換算成天、小時和分輸出。例如4880分鐘,可換算成3天9小時20分。輸入一個正整數(shù)n(1

樣例輸入

4880

樣例輸出

3920

題37:最長單詞

編寫一個函數(shù),輸入一行字符,將此字符串中最長的單詞輸出。

輸入僅一行,多個單詞,每個單詞間用一個空格隔開。單詞僅由小寫字母組成。所有單詞的長度和不超過100000。如有多個最長單詞,輸出最先出現(xiàn)的。

樣例輸入

Iamastudent

樣例輸出

student

題38:統(tǒng)計平均成績

有4個學(xué)生,上4門課,要求輸入全部學(xué)生的各門課成績,并分別求出每門課的平均成績。(保存2位小數(shù))

括號里是解釋內(nèi)容,不用輸入輸出。輸入的所有數(shù)都為0到100之間(包括端點(diǎn))的整數(shù)

樣例輸入

(輸入第1個學(xué)生的4門課成績)94788796(輸入第2個學(xué)生的4門課成績)66877569

(輸入第3個學(xué)生的4門課成績)100988977(輸入第4個學(xué)生的4門課成績)82736754

樣例輸出

(第1門課的平均成績是)85.50(第2門課的平均成績是)84.00(第3門課的平均成績是)79.50(第4門課的平均成績是)74.00

題39:GDP計算

設(shè)我國國民生產(chǎn)總值的年增產(chǎn)率為10%,計算n年后我國國民生產(chǎn)總值與現(xiàn)在的比是多少。計算公式為:P=(1+r)n,r為年增產(chǎn)率,n為年數(shù),P為n年后國民生產(chǎn)總值與現(xiàn)在相比的倍數(shù)。

輸入格式

輸入一個數(shù)n(1

溫馨提示

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

最新文檔

評論

0/150

提交評論