計算球體積 【HDU - 2002】
阿新 • • 發佈:2018-12-07
計算球體積問題
題目
根據輸入的半徑值,計算球的體積。
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位小數。
問題分析
球體積公式為: ,保留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位小數輸出便解決了。