计算球体积问题
题目
根据输入的半径值,计算球的体积。
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位小数输出便解决了。