C语言问题,还请各位多多指教

来源:百度知道 编辑:UC知道 时间:2024/06/10 10:20:57
问题:知道平面上一个圆的任意三点,求此园的半径和曲率。
不是说我不会做这个数学题,是不知道程序代码,麻烦了(对应Turbo C)

三点,只要不共线就能确定唯一的一个圆。
根据这个原理,先求出三点确定的三角形的三边长度,再用余弦定理求出一个角,设这个角是∠A,它的对边长度是a,那么这个圆弧的曲率半径就是0.5a/cosA,曲率就是曲率半径的倒数。

我没装TC,vc的代码
注意:
1.改掉相关头文件
2.注意//,/**/ tc ,vc里不一样

#include <iostream> //改为stdio.h
#include <math.h>
#include <conio.h>
using namespace std;

bool isCollinear(double x1,double y1,double x2,double y2,double x3,double y3);
double length(double x1,double y1,double x2,double y2);
double cosine(double a,double b,double c); //返回角A

int main(){
double x1,y1,x2,y2,x3,y3; //三点坐标
cin>>x1>>y1>>x2>>y2>>x3>>y3; //你在TC里改为scanf()
if(isCollinear(x1,y1,x2,y2,x3,y3)){
cout<<"三点共线"; //改为printf()
getch();
return 0;
}
double a=length(x2,y2,x3,y3),b=length(x1,y1,x3,y3),c=length(x1,y1,x2,y2);
double radius=0.5*a/sin(acos(cosine(a,b,c))), //半