#C语言入门 #计算机小白
目录
写一个C语言程序,判断给出三边能否构成三角形,若能构成三角形求出其面积?
个人见解:这个问题的核心是个数学问题
#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c, p, s;
printf("请输入三角形三边长\n");
scanf("%lf%lf%lf", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a)//构成三角形所需满足条件
{
p = (a + b + c) / 2;
s = sqrt(p * (p - a) * (p - b) * (p - c));//秦九韶公式
printf("所提供三边可构成三角形\n面积为%.2lf", s);
}
else {
printf("所提供三边不能构成三角形");
}
return 0;
}
可以看出该代码用了一个if语句来完成是否能构成三角形的判断,后又用秦九韶公式求出可构成三角形的面积。
(a + b > c && a + c > b && b + c > a)
这就是判断三角形是否存在的方法,任意两边之和大于第三边,通过它的变式也可满足任意两边之差小于第三边
p = (a + b + c) / 2;
s = sqrt(p * (p - a) * (p - b) * (p - c));
这样一部份就是老祖宗的智慧——秦九韶公式
而这里的sqrt是求平方根的意思,它是一个数学函数,封装于<math.h>这个标准库中,所以我们要在头文件调用这个库才能正常使用。
这个问题的实质就是一个数学问题,过程很简单,如有问题或错误请在评论区评论或指正,
创作不易,不喜勿喷