描述
输入球的中心点和球上某一点的坐标,计算球的半径和体积
输入描述:
球的中心点和球上某一点的坐标,以如下形式输入:x0 y0 z0 x1 y1 z1
输出描述:
输入可能有多组,对于每组输入,输出球的半径和体积,并且结果保留三位小数 为避免精度问题,PI值请使用arccos(-1)。
示例1
输入:
0 0 0 1 1 1
输出:
1.732 21.766
解题思路:
(1)球得半径公式:sqrt(pow(x1-x0,2) + pow(y1-y0,2) + pow(z1-z0,2));
(2)注意用浮点型;
代码:
#include <cmath>
#include <iomanip>
#include <ios>
#include <iostream>
const double PI=3.141592653589; //定义Π得值
using namespace std;
double r(double x0,double y0,double z0,double x1,double y1,double z1){ //求半径
double radius=sqrt(pow(x1-x0,2) + pow(y1-y0,2) + pow(z1-z0,2));
return radius;
}
double v(double r){ //求体积
double n=double(4.0/3.0); //注意转化为浮点数
double tj=n*PI*pow(r,3);
return tj;
}
int main(){
double x0,y0,z0,x1,y1,z1;
cin>>x0>>y0>>z0>>x1>>y1>>z1;
double rad=r(x0,y0,z0,x1,y1,z1);
double tt=v(rad);
cout<<fixed<<setprecision(3)<<rad<<" "<<tt<<endl;
return 0;
}