栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 PTA习题3-5 三角形判断

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 PTA习题3-5 三角形判断

文章目录
  • 前言
  • 一、题意
  • 二、代码
    • 1.代码的实现
    • 2.读入数据
  • 总结


前言

本题考查的知识点有
1.已知两点,求两点间的距离:::使用sqrt函数,sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2))

2.已知三边求这三个边能否构成一个三角形:::三角形的定义两边之和必定大于第三边,两边之差必定小于第三边。

3.已知三边求三角形面积的公式:::设p等于三角形边长的一半,则三角形面积是sqrt(p*(p-a)(p-b)(p-c))。


一、题意

给定平面上任意三个点的坐标(x1,y1)(x2,y2),(x3,y3)检验它们能否构成三角形。
输入在一行中顺序给出六个[−100,100]范围内的数字,即三个点的坐标x1,y1,x2,y2,x3,y3
输出格式:
若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。

输入样例1:
4 5 6 9 7 8
输出样例1:
L = 10.13, A = 3.00
输入样例2:
4 6 8 12 12 18
输出样例2:
Impossible

二、代码 1.代码的实现

代码如下(示例):

#include
#include
int main()
{
    double x1,y1,x2,y2,x3,y3;//定义六个变量
    double l1,l2,l3;//定义三个变量,用来存放三边的长度
    double p=0;//用于求面积时使用
    scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
    l1=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    l2=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
    l3=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
    p=(l1+l2+l3)/2;
    if((l1+l2>l3&&l1+l3>l2&&l2+l3>l1)&&(l1-l2 
2.读入数据 

代码如下(示例):

1 1 2 2 1 3//即三个点是(1,1)(2,2)(1,3)
L = 4.83, A = 1.00

总结

很多同学在已知三边的情况下不会求三角形的面积,所以我们应该记牢已知三边求三角形面积的公式!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923871.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号