http://acm.hdu.edu.cn/showproblem.php?pid=2002
Problem Description
根据输入的半径值,计算球的体积。
Input
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input
1 1.5
Sample Output
4.189 14.137
Hint
#define PI 3.1415927先这么写
#include <stdio.h> #include "math.h" #define PI 3.1415927 int main() { double a; while (EOF != scanf("%f", &a)) { double v = 4/3*PI*pow(a,3); printf("%.3f\n",v); } return 0; }
代码运行结果不对,发现4/3出问题了。
改后
#include <stdio.h> #include "math.h" #define PI 3.1415927 int main() { double a; while (EOF != scanf("%f", &a)) { double v = 4.0/3*PI*pow(a,3); printf("%.3f\n",v); } return 0; }
提交代码一直是wrong answer,查了下才知道,输入精度丢失了
#include <stdio.h> #include "math.h" #define PI 3.1415927 int main() { double a; while (EOF != scanf("%lf", &a)) { double v = 4.0/3*PI*pow(a,3); printf("%.3f\n",v); } return 0; }