C语言根据用户输入的3个顶点,【if 语句】根据用户的输入 3 个顶点坐标计算三角形的面积和周长,如果不能构成三角形提示错误....
#include?
#include?
//輸入三個點
void?inputThreePoint(double?*p)
{
\x09for(int?i=0;i<6;i+=2)
\x09{
\x09\x09printf("輸入坐標點(x,y)%d:?",i+1);
\x09\x09scanf("%lf,%lf",p+i,p+i+1);
\x09\x09fflush(stdin);
\x09}
}
//計算周長
double?getPerimeter(double?*p)
{
\x09double?side_length_a=*p;
\x09double?side_length_b=*(p+1);
\x09double??side_length_c=*(p+2);
\x09return?side_length_a+side_length_b+side_length_c;
}
//計算面積
double?getArea(double?*p)
{
\x09double?side_length_a=*p;
\x09double?side_length_b=*(p+1);
\x09double?side_length_c=*(p+2);
\x09double?halfPerimeter=(side_length_a+side_length_b+side_length_c)/2;
\x09return?sqrt(halfPerimeter*(halfPerimeter-side_length_a)*(halfPerimeter-side_length_b)*(halfPerimeter-side_length_c));
}
//根據坐標點求長度
void?getLength(double?*point,double?*angelLength)
{
\x09double?x1=*point;
\x09double?y1=*(point+1);
\x09double?x2=*(point+2);
\x09double?y2=*(point+3);
\x09double?x3=*(point+4);
\x09double?y3=*(point+5);
\x09*angelLength=sqrt(pow((x1-x2),2)+pow((y1-y2),2));
\x09*(angelLength+1)=sqrt(pow((x3-x2),2)+pow((y3-y2),2));
\x09*(angelLength+2)=sqrt(pow((x3-x1),2)+pow((y3-y1),2));
}
//判斷能否構成三角形
bool?isAngel(double?*p)
{
\x09double?side_length_a=*p;
\x09double?side_length_b=*(p+1);
\x09double?side_length_c=*(p+2);
\x09
\x09if(side_length_a+side_length_b>side_length_c
\x09&&?side_length_a+side_length_c>side_length_b
\x09&&?side_length_c+side_length_b>side_length_a)
\x09{
\x09\x09return?true;
\x09}
\x09else
\x09{
\x09\x09return?false;
\x09}
}
void?main()
{
\x09double?coordinate[6];
\x09double?sideLength[3];
\x09inputThreePoint(coordinate);
\x09getLength(coordinate,sideLength);
\x09if(isAngel(sideLength)==false)
\x09{
\x09\x09printf("輸入的坐標不能構成三角形\n");
\x09}
\x09else
\x09{
\x09\x09printf("面積:%lf\n",getArea(sideLength));
\x09\x09printf("周長:%lf\n",getPerimeter(sideLength));
\x09}
}
解析看不懂?求助智能家教解答查看解答
總結
以上是生活随笔為你收集整理的C语言根据用户输入的3个顶点,【if 语句】根据用户的输入 3 个顶点坐标计算三角形的面积和周长,如果不能构成三角形提示错误....的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android关键应用程序,Androi
- 下一篇: Fully Convolutional