c语言,判断是否是直角三角形。求详细编程

Python027

c语言,判断是否是直角三角形。求详细编程,第1张

#include <stdio.h>

int main(void)

{

int a,b,c//保存三边数据

printf("请输入三角形三边:\n")

while (1)

{

scanf("%d %d %d",&a,&b,&c)//输入三边数据

if (((a+b)>c)&&((a+c)>b)&&((b+c)>a))//判断是否为三角形

{

printf("三角形三边为:%d,%d,%d\n",a,b,c)

break

}

else

{

printf("这不是三角形,请重新输入:\n")

}

}

//计算平方数

a = a * a

b = b * b

c = c * c

//判断是否为三角形

if((a==(b+c))||(b==(a+c))||(c==(a+b)))

{

printf("yes\n")

}

else

{

printf("No\n")

}

return 0;

}

首先是输入3个数,即

三角形

三条

边,要有等于才行

前面3个条件满足,才能构成三角形否则不是三角形

然后判断,是否有满足

直角

形的条件只要有两个边得

平方

等于另一个边得平方即使直角

三角

形输出yes

你把最后两个

语句

去掉看看,还有

else

if(c

>

b+c)printf("not

a

triangle\n")

你打错了

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

void main()

{

    float a,b,c,temp

    printf("请输入三个数:\n")

    scanf("%f%f%f",&a,&b,&c)

    printf("您输入的三个数是:\n")

    printf("%f\t%f\t%f\n",a,b,c)

    //判断哪个是最长的边

    if(a<b)

    {

        temp = a

        a = b

        b = temp

    }

    if (a<c)

    {

        temp = a

        a = c

        c = temp

    }

    printf("现在的三个数:\n")

    printf("%f\t%f\t%f\n",a,b,c)//现在a是最长边了

    if ((a+b>c)&&(a+c>b)&&(b+c>a)&&fabs(a*a-b*b-c*c)<1e-6)//浮点数不能直接判断等于不等于

        printf("是直角三角形!!\n")

    else

        printf("不是直角三角形!!\n")

    system("pause")

}