計算導論與C語言基礎week7

2021-08-01 00:17:07 字數 2152 閱讀 4220

1.setprecision控制輸出流顯示浮點數的有效數字個數

#include 

#include

using

namespace

std;

int main()

手算結果是12345678920

但這段**結果是12345678848

因為浮點數精度只有7位,超過7位就不準確-用浮點數運算時應避免大+小(數字相差過多)

ieee754,浮點數

作業題

1.年齡與疾病

描述某醫院想統計一下某項疾病的獲得與否與年齡是否有關,需要對以前的診斷記錄進行整理。

輸入共2行,第一行為過往病人的數目n(0 < n <= 100),第二行為每個病人患病時的年齡。

輸出每個年齡段(分四段:18以下,19-35,36-60,大於60注意看樣例輸出的格式)的患病人數佔總患病人數的比例,以百分比的形式輸出,精確到小數點後兩位(double)。關於c++的格式化的輸入輸出,請參考:也可以在網上搜尋一下,資料很多的。

#include 

#include

//輸出可以用 coutnamespace

std;

int main()

cout

<< "1-18: "

<< fixed << setprecision(2) << a*100.0 / n << "%\n";

//注意%在c++中可以直接打出來,\n會換行

cout

<< "19-35: "

<< fixed << setprecision(2) << b*100.0 / n << "%\n";

cout

<< "36-60: "

<< fixed << setprecision(2) << c*100.0 / n << "%\n";

cout

<< "60-: "

<< fixed << setprecision(2) << d*100.0 / n << "%";

cin >> f;

//這個cin是為了debug中看結果,沒有實際含義,防止閃退出來,記得有其他辦法的,這個簡單.

return

0;}

3.找出第k大的數

描述使用者輸入n和k,然後接著輸入n個正整數(無序的),程式在不對n個整數排序的情況下,找出第k大的數。注意,第k大的數意味著從大到小排在第k位的數。 輸入n

ka1 a2 a3 a4 ….. an 輸出b

#include 

using

namespace

std;

//參考這個的解法五

int main()

;//長度1000的陣列初始化為0

for (i = 0; i < n; i++)

//a[i]存的是i這個數出現的次數

int sumcount, v;

for (sumcount = 0, v = 999; v >= 0; v--)

//sumcount是從大到小的數的序號,加到大於等於k的時候,v就是第k大的

cout

<< v > f;

return0;}

//這個實現既浪費時間也浪費空間,只不過自己寫的簡單...

4.人民幣支付

描述從鍵盤輸入一指定金額(以元為單位,如345),然後輸出支付該金額的各種面額的人民幣數量,顯示100元,50元,20元,10元,5元,1元各多少張,要求盡量使用大面額的鈔票。

輸入乙個小於1000的正整數。

輸出輸出分行,每行顯示乙個整數,從上到下分別表示100元,50元,20元,10元,5元,1元人民幣的張數

#include 

using

namespace

std;

int main()

不得不說這段**醜爆了,大晚上的先a了再說,你先醜著吧..

前幾個小時把第2題寫上來了,還有個最大公約數的歐幾里得演算法實現,但草稿不知怎搞的丟了,引以為戒,注意隨手儲存。

程式設計思維與實踐 Week7 作業

眾所周知,tt 有乙隻魔法貓。這一天,tt 正在專心致志地玩 貓和老鼠 遊戲,然而比賽還沒開始,聰明的魔法貓便告訴了 tt 比賽的最終結果。tt 非常詫異,不僅詫異於他的小貓咪居然會說話,更詫異於這可愛的小不點為何有如此魔力?魔法貓告訴 tt,它其實擁有一張遊戲勝負表,上面有 n 個人以及 m 個勝...

計算導論與C語言基礎week12期末題

前兩題簡單了.3.最大距離 簡單 描述給定一組點 x,y 求距離最遠的兩個點之間的距離。輸入第一行是點數n n大於等於2 接著每一行代表乙個點,由兩個浮點數x y組成。輸出輸出一行是最遠兩點之間的距離。使用cout fixed setprecision 4 dis endl 輸出距離值並精確到小數點...

程式設計思維與實踐 Week7 作業C SPFA

給定t組資料,每組資料有n個點和m條單向邊。每個點有乙個值,邊的權值即為終點的值減去起點值得三次方,求出從起點開始到每個點得最小權值和。由題意可知,圖中有負邊權,即有得點可能達不到,或者是處於負環路上。如果某個點不能達到或者是處於負環路,則輸出 第一行輸入 t,表明共有 t 組資料。1 t 50 對...