计算球体积问题【HDU-2002】
题目
根据输入的半径值,计算球的体积。
Time limit | Memory limit | OS | Source |
---|---|---|---|
1000 ms | 32768 kB | Windows | C语言程序设计练习(一) |
Input
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Example
Input | Output |
---|---|
1 | 4.189 |
1.5 | 14.137 |
问题链接: HDU - 2002
问题描述
输入多组数据作为球的半径,每一组要输出对应的球的面积,计算结果保留3位小数。
问题分析
- 首先在问题中的变量时球的半径r,所以要定义一个变量r
- 通过球的体积公式求得最后的结果
球的体积公式为:4/3πr3 - 保留三位小数则可通过下列函数来实现
cout << fixed << setprecision(3)
AC通过代码如下
#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*r*r*r;
cout << fixed << setprecision(3) << v << endl;
}return 0;
}
代码分析
程序包含了三个头文件,其中
#include<iomanip>
用于调用保留三位小数(setprecision)函数
宏定义
#define PI 3.1415927
将圆周率储存于标识符PI。
int main()
{
double r, v;
while (cin >> r)
{
v = (4.0 / 3.0)*PI*r*r*r;
cout << fixed << setprecision(3) << v << endl;
}return 0;
}
while则用于循环程序
思考
在代码中,曾经因为4.0(double float)打成4(integer)而导致类型被转换的错误,这是低级的错误。
拓展
幂运算
可以引用头文件
#include<cmath>
则可用函数pow()
则球的体积公式可表示为
v = (4.0) / (3.0) * PI * pow(r, 3);