2018 11 14資訊學奧賽輔導 向上取整

2021-08-31 21:02:53 字數 1798 閱讀 6643

ceil函式:

ceil:在英文中,是天花板的意思,有向上的意思,所以,此函式是向上取整。

用 法: double ceil(double x);

功 能: 返回大於或者等於指定表示式的最小整數

標頭檔案: #include

說明:float ceil ( float value )

返回不小於 value 的下乙個整數,value 如果有小數部分則進一位。ceil() 返回的型別仍然是 float,因為 float 值的範圍通常比 integer 要大。

#include#includeint main()

輸出結果為:6

#include#includeint main()

輸出結果:6

#include#includeusing namespace std;

int main()

輸出結果:6 

【注意】下面的這種寫法不對

#include#includeint main()

輸出結果:0

原因:因為ceil()函式的返回值為double型別,而我們輸出的型別是%d型別,所以會出錯。因此我們最好在ceil函式前面加乙個強制型別轉換,將ceil的值轉為int型別。

int

int 是向下取整數.

#includeint main()

輸出結果:5.700000

#includeint main()

輸出結果:5

#include#includeusing namespace std;

int main()

輸出結果:5 

注意:這樣寫會報錯。

#includeint main()

也是因為5.7是小數型別的,而「%d」指的是整數,型別不一致,輸出的結果可能是任意的數。

例題:

【蘋果和蟲子】

描述你買了一箱n個蘋果,很不幸的是買完時箱子裡混進了一條蟲子。蟲子每x小時能吃掉乙個蘋果,假設蟲子在吃完乙個蘋果之前不會吃另乙個,那麼經過y小時你還有多少個完整的蘋果?

輸入輸入僅一行,包括n,x和y(均為整數)。輸入資料保證y <= n * x。

輸出輸出也僅一行,剩下的蘋果個數

樣例輸入

10 4 9
樣例輸出

7
提示

注意:是要求完整的蘋果數。

**:

(用ceil函式)

#include#includeint main()

(用int強制型別轉換)

#includeint main()

或者:

#include#includeint main()

資訊學奧賽

排列與組合是常用的數學方法,其中組合就是從n個元素中抽出r個元素 不分順序且r n 我們可以簡單地將n個元素理解為自然數1,2,n,從中任取r個數。現要求你用遞迴的方法輸出所有排列。一行兩個自然數n r 1 include include includeusing namespace std int...

資訊學奧賽

時間限制 1000 ms 記憶體限制 65536 kb 提交數 3478 通過數 2486 給定乙個由不同的小寫字母組成的字串,輸出這個字串的所有全排列。我們假設對於小寫字母有 a b y z 而且給定的字串中的字母已經按照從小到大的順序排列。只有一行,是乙個由不同的小寫字母組成的字串,已知字串的長...

資訊學奧賽C 語言 蛋糕

題目描述 六一 兒童節就要到了,為了讓小朋友們過乙個開心愉快的節日,學校打算自製一批香甜可口的蛋糕。做乙個蛋糕需要花費4 元錢買雞蛋,5 元錢買麵粉。現在需要做n 個蛋糕,學校需要花多少錢買蛋糕材料呢?輸入 輸入乙個整數n 0 輸出 乙個整數,代表學校需要花的錢。輸入樣例 5 輸出樣例 45樣例解釋...