欢迎访问==> 【考研OR保研】机试题
题目描述
给定一个球的中心点坐标和球面上某一点的坐标,请你计算球的半径和体积。
输入格式
第一行包含整数 $T$,表示共有 $T$ 组测试数据。
每组数据占一行,包含六个整数 $x_0,y_0,z_0,x_1,y_1,z_1$,分别表示球的球心坐标 $(x_0,y_0,z_0)$ 和球面上一点坐标 $(x_1,y_1,z_1)$。
输出格式
每组数据输出一行,一个结果,首先输出球的半径,然后输出球的体积。
两数之间空格隔开,保留两位小数。
数据范围
$1 \\le T \\le 10$,
$\-5 \\le x_0,y_0,z_0,x_1,y_1,z_1 \\le 5$
输入样例:
1
0 0 0 1 0 0
输出样例:
1.00 4.19
C++ 代码
#include <bits/stdc++.h>
#define PI 3.1415926
using namespace std;
int main()
{
int T, x0, y0, z0, x1, y1, z1;
cin >> T;
while(T -- )
{
cin >> x0 >> y0 >> z0 >> x1 >> y1 >> z1;
double dx = x0 - x1, dy = y0 - y1, dz = z0 - z1;
double r = sqrt(dx * dx + dy * dy + dz * dz);
double v = 4 / 3.0 * PI * r * r * r;
printf("%.2lf %.2lf\n", r, v);
}
return 0;
}
#include[HTML_REMOVED]
#include[HTML_REMOVED]
#define pi 3.1415926
int main(){
int n;
scanf(“%d”,&n);
while(n–){
int x1,y1,z1;
scanf(“%d,%d,%d”,&x1,&y1,&z1);
int x2,y2,z2;
scanf(“%d,%d,%d”,&x2,&y2,&z2);
double d1,d2,d3;
d1=x1-x2;
d2=y1-y2;
d3=z1-z2;
double r=sqrt(d1d1+d2d2+d3d3);
double s=4/3.0pirr*r;
printf(“%.2lf “,r);
printf(“%.2lf”,s);
}
return 0;
}
有大佬知道为啥错了吗?