1. 程式人生 > >計算球體積 【HDU - 2002】

計算球體積 【HDU - 2002】

計算球體積問題

題目

根據輸入的半徑值,計算球的體積。

Time limit Memory limit OS Source
1000 ms 32768 kB Windows C語言程式設計練習(一)

input

輸入資料有多組,每組佔一行,每行包括一個實數,表示球的半徑。

output

輸出對應的球的體積,對於每組輸入資料,輸出一行,計算結果保留三位小數。

Sample

input output
1 4.189
1.5 14.137

問題連結:HDU - 2002

問題描述

輸入多組資料作為球的半徑,每一組要輸出對應的球的面積,計算結果保留3位小數。

問題分析

球體積公式為: 4 / 3

π r 3 4/3πr^{3} ,保留3位小數可以通過:

cout << fixed << setprecision(3)

來實現。

AC通過的C++語言程式程式碼如下:

#include<iostream>
#include<iomanip>
#include<cmath> using namespace std; #define PI 3.1415927 int main() { double r, v; while (cin >> r) { v = (4.0) / (3.0) * PI * pow(r, 3); cout << fixed << setprecision(3) << v << endl; } }

程式碼分析

本程式包含了三個標頭檔案,其中

#include<iomanip>
#include<cmath>

分別是用於保留三位小數(setprecision)和進行冪運算(pow())的。

巨集定義#define PI 3.1415927,將圓周率儲存於識別符號PI。

double r, v;  //宣告兩個雙精度浮點型變數
    while (cin >> r)
    {
        v = (4.0) / (3.0) * PI * pow(r, 3);
        cout << fixed << setprecision(3) << v << endl;
    }

這裡之所以用double是因為float的結果會溢位導致輸出的是科學計數法表達的數字
while用於迴圈程式,計算出v之後保留3位小數輸出便解決了。