sdjzu 1117

来源:互联网 发布:金蝶数据引出错误3275 编辑:程序博客网 时间:2024/06/05 20:21

1117:计算圆的周长分数: 3

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:11
解决: 9

题目描述

如果告诉你圆的直径,那么计算圆的周长是非常简单的。但是,这次不告诉你圆的直径。
现给你圆周上三个点的坐标,请你计算圆的周长。

输入格式

输入包含多组测试数据。每组输入包含6个实数x1,y1,x2,y2,x3,y3,表示圆周上三个点的坐标。
圆的直径不会超过1000000。

输出

对于每组输入,输出圆的周长,结果保留2位小数。(pi的取值为3.141592653589793)

样例输入

0.0 -0.5 0.5 0.0 0.0 0.5
0.0 0.0 0.0 1.0 1.0 1.0
5.0 5.0 5.0 7.0 4.0 6.0
0.0 0.0 -1.0 7.0 7.0 7.0
50.0 50.0 50.0 70.0 40.0 60.0
0.0 0.0 10.0 0.0 20.0 1.0
0.0 -500000.0 500000.0 0.0 0.0 500000.0

样例输出

3.14
4.44
6.28
31.42
62.83
632.24
3141592.65

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 **


#include<iostream>#include<cstdio>#include<math.h>using namespace std;int main(){   double a1,a2,b1,b2,c1,c2;   double d1,d2,d3;   double d11,d12,d13;   double cc1,ss1,dd1;   while(cin>>a1>>a2>>b1>>b2>>c1>>c2)    {        d1=(b1-a1)*(b1-a1)+(b2-a2)*(b2-a2);        d2=(c1-a1)*(c1-a1)+(c2-a2)*(c2-a2);        d3=(c1-b1)*(c1-b1)+(c2-b2)*(c2-b2);        cc1=(d2*d2+d3*d3+d1*d1+2*d2*d3-2*d1*d2-2*d3*d1)/(4*d2*d3);        d11=sqrt(d1);        dd1=d11/(sqrt(1-cc1));        double s=3.141592653589793*dd1;        printf("%.2f\n",s);    }    return 0;}



原创粉丝点击