习题3-5 三角形判断 (15 分)-PTA浙大版《C语言程序设计(第4版)》
给定平面上任意三个点的坐标(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
注意点:这里需要一些数学知识, 判断能否构成三角形的条件是:任意两边之和大于第三边
求面积的话用海伦公式:
假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
而公式里的p为半周长(周长的一半):
这里还有另外一种有三个坐标后可以求三角形面积的方法:
S=(1/2)*(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)。
但是这种方法答案虽然正确,但是在PTA上通过不了,不知道为什么!~
#include<stdio.h>
#include<math.h>
double length(double x1, double y1, double x2, double y2);
int main()
{double x1 = 0.0, x2 = 0.0, x3 = 0.0,y1 = 0.0, y2 = 0.0, y3 = 0.0;double length1 = 0.0, length2 = 0.0, length3 = 0.0;double L = 0.0, A = 0.0;double p=0.0;scanf("%lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3);length1 = length(x1, y1, x2, y2);length2 = length(x2, y2, x3, y3);length3 = length(x1, y1, x3, y3);L = length1 + length2 + length3;p = L / 2;A = sqrt(p * (p - length1) * (p - length2) * (p - length3));if (length1 + length2 > length3 && length1 + length3 > length2 && length2 + length3 > length1){printf("L = %.2f, A = %.2f", L, A);}else{printf("Impossible");}return 0;
}double length(double x1, double y1, double x2, double y2)
{return sqrt(pow((x2 - x1), 2) + pow((y2 - y1), 2));
}
习题3-5 三角形判断 (15 分)-PTA浙大版《C语言程序设计(第4版)》相关推荐
- 7-74 三角形判断 (15 分) 给定平面上任意三个点的坐标(x1, y1)、(x2, y2)、(x3, y3),检验它们能否构成三角形。PTA:中M2021春C、Java入门练习第I段
7-74 三角形判断 (15 分) 给定平面上任意三个点的坐标(x1, y1).(x2, y2).(x3, y3),检验它们能否构成三角形. 输入格式: 输入在一行中顺序给出六个[−100 ...
- PTA 习题3-5 三角形判断 (15分)
给定平面上任意三个点的坐标(x1 ,y1 ).(x2 ,y2 ).(x3 ,y3 ),检验它们能否构成三角形. 输入格式: 输入在一行中顺序给出六个[−100,10 ...
- 习题3-5 三角形判断 (15 分)
任意两边之和大于第三边就可以构成三角形: 面积计算:计算出余弦:cos=(a* a+b* b-c* c)/(2* a* b),正弦sin=sqrt(1-cos *cos);A=1/2 *a *b *s ...
- 习题4-9 打印菱形图案 (15 分)
习题4-9 打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号& ...
- 1.4编程基础之逻辑表达式与条件分支_16三角形判断(9分)
/* 1.4编程基础之逻辑表达式与条件分支_16三角形判断(9分) http://noi.openjudge.cn/ch0104/16/ */ #include <bits/stdc++.h& ...
- 习题2.7 弹球距离 (15 分)
习题2.7 弹球距离 (15 分) 设有一个球从高度为h米的地方落下,碰到地面后又弹到高度为原来p倍的位置,然后又落下,再弹起,再落下-.请编写函数求初始高度为h的球下落后到基本停下来(高度小于给定阈 ...
- 习题2.7 弹球距离 (15分) 浙江大学数据结构
习题2.7 弹球距离 (15分) 设有一个球从高度为h米的地方落下,碰到地面后又弹到高度为原来p倍的位置,然后又落下,再弹起,再落下-.请编写函数求初始高度为h的球下落后到基本停下来(高度小于给定阈值 ...
- C语言程序设计第五版 谭浩强 第四章 课后习题 答案
谭浩强C语言程序设计第五版 第4章 课后习题 答案 点我看视频讲解+可运行源码 记得一键三连哦 第四章 选择结构程序设计 1. 什么是算术运算?什么是关系运算?什么是逻辑运算? [答案解析] 算熟运算 ...
- java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案
<Java语言程序设计第2版第16章 课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计第2版第16章 课后习题答案(62页珍藏版)>请在人人文库网上搜索. ...
最新文章
- 大陆唯一7nm光刻机被抵押!武汉千亿投资、台积电大牛掌舵的芯片项目官宣停摆...
- golang 获取路径 文件名 后缀
- 读书笔记《如何阅读一本书》之二
- 别人家的孩子!高校博士实现Nature、Science双发!
- boost::type_erasure::binding相关的测试程序
- ctr 平滑_CTR平滑的原理,包懂!!!附代码
- Hadoop的伪分布安装 hadoop的核心思想
- 选择省份时,自动显示对应省份的城市
- linux循环控制结构,Linux Shell 之 Shell 基本控制结构(二)(循环结构)
- 不可能解开的谜题 (程序员修炼之道,评注者序)
- telnet批量ip端口测试连通自动脚本
- 功能测试用例设计方法,一文带你了解用例设计,再也不担心用例了
- NCA:九岁的已经发起了 DDoS 攻击
- 扫呗、通联微信后台配置支付授权目录流程
- 51单片机 WR RD的作用
- 企微裂变定位裂变,实现粉丝增长,提高客户留存率。
- XTDorne平台搭建无人机仿真环境时遇到的问题及解决
- 二叉树高度 [log2n]+1与log2(n+1)是否相等
- 用git clone命令从gitlab上拉取公司项目操作步骤
- 11. 合伙创业企业的股份计算解决办法
热门文章
- ThinkPad X250加装固态硬盘教程
- android自定义抽奖,Android简单实现圆盘抽奖界面
- android设计模式应用--中介者模式
- 初中计算机教案模板,初中计算机教案模板
- git fatal: schannel: next InitializeSecurityContext failed: SEC E CERT EXPIRED (0x80090328)
- 185 道必须掌握的大数据面试真题(附答案)
- Raft一致性算法论文
- 移动编程基础知识(复习提纲)
- 建模练习——扇贝单词
- JavaWeb+MySql+Tomcat一键部署方案