球的半径和体积 -- 牛客

题目描述

输入球的中心点和球上某一点的坐标,计算球的半径和体积

输入描述:

球的中心点和球上某一点的坐标,以如下形式输入:x0 y0 z0 x1 y1 z1

输出描述:

输入可能有多组,对于每组输入,输出球的半径和体积,并且结果保留三位小数

为避免精度问题,PI值请使用arccos(-1)。
示例1

输入

复制
0 0 0 1 1 1 

输出

复制
1.732 21.766

解题思路

利用公式,求解即可。

PS: 一开始定义float 变量一直无法AC ,后改成double变量通过。

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <math.h>
 4 
 5 int main()
 6 {
 7     double pi = acos(-1);
 8     int x0,y0,z0,x1,y1,z1;
 9     while(scanf("%d%d%d%d%d%d",&x0,&y0,&z0,&x1,&y1,&z1)!=EOF)
10     {
11         double r,v;
12         r = sqrt(
13                    (x1-x0)*(x1-x0)+(y1-y0)*(y1-y0)+(z1-z0)*(z1-z0)
14                 );
15         v = (4.000/3) * pi* r*r*r;
16          printf("%.3lf %.3lf",r,v);
17     }
18 }

summary


看了别人的code 才想起 pow() 函数
C 库函数 double pow(double x, double y) 返回 x 的 y 次幂,即 xy
函数声明:
double pow(double x, double y)
原文地址:https://www.cnblogs.com/jiashun/p/newcode7.html