1. 編寫一個(gè)程序,不斷要求用戶輸入兩個(gè)數(shù)着茸,直到其中的一個(gè)為0。對于每兩個(gè)數(shù)畜侦,程序?qū)⑹褂靡粋€(gè)函數(shù)來計(jì)算它們的調(diào)和平均數(shù)元扔,并將結(jié)果返回給main(),而后者將報(bào)告結(jié)果旋膳。調(diào)和平均數(shù)指的是倒數(shù)平均值的倒數(shù)澎语,計(jì)算公式如下:
調(diào)和平均數(shù)=2.0*x*y/(x+y)
2. 編寫一個(gè)程序,要求用戶輸入最多10個(gè)高爾夫成績验懊,并將其存儲(chǔ)在一個(gè)數(shù)組中擅羞。程序允許用戶提早結(jié)束輸入,并在一行上顯示所有成績义图,然后報(bào)告平均成績减俏。請使用3個(gè)數(shù)組處理函數(shù)來分別進(jìn)行輸入、顯示和計(jì)算平均成績碱工。
if(!cin)判斷是否輸入正確,如果輸入錯(cuò)誤的類型娃承,會(huì)出現(xiàn)cin輸入錯(cuò)誤。然后就得用clear()清除錯(cuò)誤狀態(tài)怕篷,就是清除錯(cuò)誤狀態(tài)历筝。然后還得用 while(cin.get()!='\n')? ? continue;?吸收緩沖區(qū)。也就是錯(cuò)誤字符后面的字符之類的廊谓, 直到換行符梳猪。
3、有一個(gè)結(jié)構(gòu)聲明蒸痹,a)編寫一個(gè)函數(shù)春弥,按值傳遞box結(jié)構(gòu),并顯示每個(gè)成員的值叠荠。b)編寫一個(gè)函數(shù)匿沛,傳遞box結(jié)構(gòu)的地址,并將volume成員設(shè)置為其他三維長度的乘積榛鼎。c)編寫一個(gè)使用這兩個(gè)函數(shù)的簡單程序俺祠。
4公给、程序清單7.4
5借帘、定義一個(gè)遞歸函數(shù)蜘渣,接受一個(gè)整型參數(shù),并返回該參數(shù)的階乘肺然。前面講過蔫缸,3的階乘寫作3!际起,等于3 * 2拾碌!,以此類推: 而0街望!被定義為1.通用的計(jì)算公式是校翔,如果n大于零 , 則n! = n * (n - 1)!灾前。在程序中對該函數(shù)進(jìn)行測試防症,程序使用循環(huán)讓用戶 輸入不同的值,程序?qū)?bào)告這些值的階乘哎甲。
6.編寫一個(gè)程序蔫敲,它使用下列函數(shù): Fill_array()將一個(gè)double數(shù)組的名稱和長度作為參數(shù)。它提示用戶輸入double值炭玫,并將這些值存儲(chǔ)到數(shù)組中奈嘿。當(dāng)數(shù)組被填滿或 用戶輸入了非數(shù)字時(shí),輸入將停止吞加,并返回實(shí)際輸入了多少個(gè)數(shù)字裙犹。 Show_array()將一個(gè)double數(shù)組的名稱和長度作為參數(shù),并顯示該數(shù)組的內(nèi)容衔憨。 Reverse-array()將一個(gè)double數(shù)組的名稱和長度作為參數(shù)叶圃,并將存儲(chǔ)在數(shù)組中的值的順序反轉(zhuǎn)。 程序?qū)⑹褂眠@些函數(shù)來填充數(shù)組巫财,然后顯示數(shù)組盗似;反轉(zhuǎn)數(shù)組,然后顯示數(shù)組平项;反轉(zhuǎn)數(shù)組中除第一個(gè)和最后一個(gè)元素之外的所有元素赫舒, 然后顯示數(shù)組。
7闽瓢、修改程序清單7.7中的3個(gè)數(shù)組處理函數(shù)接癌,使之使用兩個(gè)指針參數(shù)來表示區(qū)間。file_array()函數(shù)不返回實(shí)際讀取了多少個(gè) 數(shù)字扣讼,而是返回一個(gè)指針缺猛,該指針指向最后被填充的位置:其他的函數(shù)可以將該指針作為第二個(gè)參數(shù),以標(biāo)識數(shù)據(jù)結(jié)尾。
8荔燎、在不使用array類的情況下完成程序清單7.15所做的工作耻姥。編寫兩個(gè)這樣的版本: a.使用const char *數(shù)組存儲(chǔ)表示季度名稱的字符串,并使用double數(shù)組存儲(chǔ)開支有咨。 b.使用const char *數(shù)組存儲(chǔ)表示季度名稱的字符串琐簇,并使用一個(gè)結(jié)構(gòu),該結(jié)構(gòu)只有一個(gè)成員——一個(gè)用于存儲(chǔ)開支的double數(shù)組座享。 這種設(shè)計(jì)與使用array類的基本設(shè)計(jì)類似婉商。
真的惡心,不做了渣叛。