根据给定的三条边判断是否能构成三角形,并且输出它对应的面积和三角形类型

1 题目

功能:判断三角形的类型

描述:根据给定的三条边判断是否能构成三角形,并且输出它对应的面积和三角形类型

2 思路

从键盘中输入三条边后,只需判断这三条边中任意两边之和是否大于第三边

如果满足条件,可以构成三角形

再做进一步判断确定该三角形是什么三角形

若两边相等-则是等腰三角形;若三边相等,则是等边三角形;若三边满足勾股定理,则是直角三角形

另外,注意 && 和 || 的使用,以及 & 与 && 的区别和  | 与 || 的区别

3 代码

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

/**

功能:判断三角形的类型

描述:根据给定的三条边判断是否能构成三角形,并且输出它对应的面积和三角形类型

**/

intmain(intargc,charconst*argv[]) {

  floata,b,c;

  floats,area;

  printf("输入三角形的三条边长(以空格分隔):");

  scanf("%f %f %f",&a,&b,&c);// 输入三条边

  printf("a = %f\n",a);

  printf("b = %f\n",b);

  printf("c = %f\n",c);

  if(a+b>c&&b+c>a&&a+c>b) {          // 判断两边之和是否大于第三边

    s=(a+b+c)/2;

    area=(float)sqrt(s*(s-a)*(s-b)*(s-c));    // 计算三角形的面积

    printf("面积是:%f\n",area);              // 输出三角形的面积

    if(a==b&&a==c)                // 判断三条边是否相等

      printf("三条边组成的三角形是: 等边三角形\n");

      // 输出等边三角形

    elseif(a==b||a==c||b==c)

      // 判断三角形中是否有两边相等

      printf("三条边组成的三角形是: 等腰三角形\n");

      // 输出等腰三角形

    elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))

      // 判断是否有两边的平方和大于第三边的平方

      printf("三条边组成的三角形是: 直角三角形\n");

      // 输出直角三角形

    else

      printf("三条边组成的三角形是: 普通三角形");

      // 普通三角形

  }

  else

    // 如果两边之和小于第三边不能组成三角形

    printf("该三条边不能构成三角形\n");

}

示例结果:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容