c语言中输入直角三角形的两条直角边,如何求斜边的长度?

如题所述

在scanf()命令加入下面命令:

printf("%lf %lf",a,b);

import java.util.*;

public class triangle {

static void show(double a,double b,double c){

if(a+b<c&&a+c<b&&b+c<a){

System.out.println("构不成三角形");

}

if(a*a==b*b+c*c){

System.out.println("输出斜边:"+(double)(Math.sqrt(a*a)));

System.out.println("输出三角形的面积:"+(b*c)/2);

}

if(b*b==a*a+c*c){

System.out.println("输出斜边:"+(double)(Math.sqrt(b*b)));

System.out.println("输出三角形的面积:"+(a*c)/2);

}

if(c*c==a*a+b*b){

System.out.println("输出斜边:"+(double)(Math.sqrt(c*c)));

System.out.println("输出三角形的面积:"+(a*b)/2);

}

}

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入边长a");

Double a=sc.nextDouble();

System.out.println("请输入边长b");

Double b=sc.nextDouble();

System.out.println("请输入边长c");

Double c=sc.nextDouble();

show(a,b,c);

}

}

运行结果如下:

请输入边长a3

请输入边长b4

请输入边长c5

输出斜边:5.0

输出三角形的面积:6.0

扩展资料:

ΔABC是直角三角形,作AB的垂直平分线n交BC于D

∴ AD=BD(线段垂直平分线上的点到这条线段两端点的距离相等)

以DB为半径,D为圆心画弧,与BC在D的另一侧交于C'

∴DC’=AD=BD∴∠BAD=∠ABD ∠C’AD=∠AC’D (等边对等角

又∵∠BAD+∠ABD+∠C’AD+∠AC’D =180°(三角形内角和定理

∴∠BAD+∠C’AD=90° 即:∠BAC’=90°

又∵∠BAC=90°

∴∠BAC=∠BAC’

∴C与C’在直线AC上

又∵C与C’在直线BD上,AC与BD相交

∴C与C’重合(也可用垂直公理证明 :假使C与C’不重合 由于CA⊥AB,C’A⊥AB 故过A有CA、C’A两条直线与AB垂直 这就与垂直公理矛盾 ∴假设不成立 ∴C与C’重合)

温馨提示:答案为网友推荐,仅供参考
相似回答