题目描述

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

输入描述:

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

输出描述:

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

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

输入

复制
0 0 0 1 1 1 

输出

复制
1.732 21.766

解题思路

利用公式,求解即可。

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
 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 次幂,即 x y 函数声明:
double pow(double x, double y)
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄