PAT 三角形判断

 1 /*给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。
 2
 3  输入格式:
 4
 5 输入在一行中顺序给出6个[-100, 100]范围内的数字,即3个点的坐标x1, y1, x2, y2, x3, y3。
 6
 7  输出格式:
 8
 9 若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。
10 输入样例1:4 5 6 9 7 8
11
12 输出样例1:L = 10.13, A = 3.00
13
14 输入样例2:4 6 8 12 12 18
15
16 输出样例2:Impossible
17
18 */
19 /*思路:利用勾股定理算出三边的长度,再用三边长度判断是否能够够成三角形,如果可以,则算出周长,和三边求面积公式求出面积。*/
20 #include<stdio.h>
21 #include<math.h>
22 int main()
23 {
24     double x1,y1,x2,y2,x3,y3;
25     double ab,ac,bc;
26     double length,area;
27     scanf("%lf",&x1);
28     scanf("%lf",&y1);
29     scanf("%lf",&x2);
30     scanf("%lf",&y2);
31     scanf("%lf",&x3);
32     scanf("%lf",&y3);
33
34     ab=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
35     ac=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
36     bc=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
37 //    printf("%f\t%f\t%f\n",ab,ac,bc);
38
39     if(ab+ac>bc&&ab+bc>ac&&ac+bc>ab){
40         length=ab+ac+bc;
41         double p=(ab+bc+ac)/2;
42         area=sqrt(p*(p-ab)*(p-ac)*(p-bc));
43         printf("L = %.2f, A = %.2f\n",length,area);
44     }else{
45         printf("Impossible\n");
46     }
47     return 0;
48 }

PAT 三角形判断

时间: 2024-11-06 23:33:45

PAT 三角形判断的相关文章

分支-02. 三角形判断(15)

#include<iostream>#include<iomanip>#include<math.h>using namespace std;int main(){    double a[2],b[2],c[2];    double l,m,n,p,s;    cin>>a[0]>>a[1]>>b[0]>>b[1]>>c[0]>>c[1];    l=sqrt(pow(a[0]-b[0],2)+

*分支-02. 三角形判断

此题有错误,不能正确执行.希望有人给予提点. 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 5 int main() 6 { 7 float x1,y1,x2,y2,x3,y3;//三个坐标 8 float l1,l2,l3;//三角形三边 9 float L,A;//周长,面积 10 float S;//海伦公式 11 12 scanf("%f %f %f %f %f %f&

PAT 1061. 判断题

PAT 1061. 判断题 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过100的正整数N和M,分别是学生人数和判断题数量.第二行给出M个不超过5的正整数,是每道题的满分值.第三行给出每道题对应的正确答案,0代表"非",1代表"是".随后N行,每行给出一个学生的解答.数字间均以空格分隔. 输出格式: 按照输入的顺序输出每个学生的得分,每个分数占一行. 输入样例: 3 6 2 1 3 3 4

浙大版《C语言程序设计(第3版)》题目集 习题3-5 三角形判断 (15 分)

习题3-5 三角形判断 (15 分) 给定平面上任意三个点的坐标(x1,y1).(x2,y2).(x3,y3),检验它们能否构成三角形.1??,y?1??).(x?2??,y?2??).(x?3??,y?3??),检验它们能否构成三角形 输入格式: 输入在一行中顺序给出六个[?100,100]范围内的数字,即三个点的坐标x1.y1.x2.y2.x3.y3.(.x1,y1).(x2,y2).(x3,y3)1??.y?1??.x?2??.y?2??.x?3??.y?3??. 输出格式: 若这3个点不

codeforces - 766B【三角形判断】

题解By: Jstyle知识点一    要想三边满足构成三角形的条件有两个    1.任意两边之和大于第三边.    2.任意两边之差小于第三边.知识点二    假设三边为 a, b, c 且满足 a <= b <= c;那么只需要满足 a+b > c即可;    证明:    任意两边之和大于第三边:    因为 a <= b <= c, 则 a+c > b && b+c > a 是显然的;    任意两边只差小于第三边:    因为: a+b

作业八—三角形判断单元测试体会

  测试用例 (含有“()”号的为错误预言) 序号 测试输入(三条边:a,b,c) 测试预言 (Oracle:Illegal,Regular,Scalene,Isoceles) 4  (0.6.5)  Illegal 5  (4,2,3)  Scalence 6  (4,4,4)  Regular 7  (-2,-2,-2)  Illegal 8  (3,3,5)  Isoceles 9  (-2,-2,-2)  (Regular) 10  (3,3,6)  (Isoceles) 11  (1,

1-4-16:三角形判断

描述 给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形. 输入输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开.输出如果能构成三角形,则输出“yes” ,否则输出“no”.样例输入 3 4 5 样例输出 yes 来源 #include<stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); if((a+b)>c &&

【if...else】三角形判断

给定三条边的长度,判断能否组成三角形,如果可以,判断三角形的形状. 输入要求 一组数据,每行三个实数,在(0,10]之间 输出要求 根据每行的数据判断,如果不能组成三角形,则输出"Not a triangle":如果是"等腰三角形",则输出"Isosceles triangle":如果是"直角三角形",则输出"Right triangle":如果是"等腰直角三角形",则输出"I

三角形判断和计算面积(C++实现)

#include <iostream> #include <math.h> using namespace std; void main() { int    b,c,a; float s,area; cout <<"请输入三角形三条边的大小:"; cin>>a>>b>>c; if ((a+b>c)&&(a+c>b )&&(b+c>a)) { s=(a+b+c)/2