【if 语句】根据用户的输入 3 个顶点坐标计算三角形的面积和周长,如果
题目
【if 语句】根据用户的输入 3 个顶点坐标计算三角形的面积和周长,如果
不能构成三角形提示错误.
答案
#include <stdio.h>
#include <math.h>
//输入三个点
void inputThreePoint(double *p)
{
x09for(int i=0;i<6;i+=2)
x09{
x09x09printf("输入坐标点(x,y)%d: ",i+1);
x09x09scanf("%lf,%lf",p+i,p+i+1);
x09x09fflush(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{
x09x09return true;
x09}
x09else
x09{
x09x09return false;
x09}
}
void main()
{
x09double coordinate[6];
x09double sideLength[3];
x09inputThreePoint(coordinate);
x09getLength(coordinate,sideLength);
x09if(isAngel(sideLength)==false)
x09{
x09x09printf("输入的坐标不能构成三角形
");
x09}
x09else
x09{
x09x09printf("面积:%lf
",getArea(sideLength));
x09x09printf("周长:%lf
",getPerimeter(sideLength));
x09}
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 2a与2b互余,且2a+2b=π2,a加b等于π4,已知tan(a+b)=tana+tanb1-tanatanb=1,求(1+tana)(1+tanb)
- 判断题..二次函数
- 一个圆锥形沙堆,底面周长是18.84米,高是0.8米,把这些沙铺在一个长5米,宽四米的长方体的沙坑里,可以铺多厚?(得数保留一位小数0
- 如图,把四边形ABCD改成一个等面积的三角形.
- 一道简单的数学题,请详解
- 安全标准化中风险评价方法有二:LEC和JHA,其中每个字母的英文原单词是什么?
- 配电箱系统图符号,字母,怎么看
- 9分之8 3分之4 7分之8(化成小数)
- 几个易混词的区别
- 现有甲种糖果与乙种糖果质量比为1:3,后来又添进甲种糖果20千克,这时甲种糖果与乙种糖果质量比为3:5,问此时甲种糖果多少千克?