c语言判断输入的三个数能否构成三角形,如果能,求出面积与周长
时间: 2023-06-09 20:08:27 浏览: 1227
C语言输入三个正整数a, b, c. 若此三数构成三角形,则输出三角形面积
好的,我可以帮您解决这个问题。首先,要判断输入的三个数能否构成三角形,需要使用三角形的一个重要定理:三角形两边之和大于第三边。因此您可以按照以下步骤来判断:
1.从键盘输入三个数a、b、c。
2.首先判断输入的数是否大于0,如果有一个数小于等于0,则无法构成三角形。
3.然后判断输入的三个数能否构成三角形,如果满足条件即a+b>c、b+c>a、a+c>b,则可以构成三角形。
4.如果可以构成三角形,可以使用海伦公式求解三角形的面积和周长。海伦公式是:p=(a+b+c)/2,其中p是三角形的半周长,a、b、c是三角形的三条边长度;三角形的面积S=sqrt(p(p-a)(p-b)(p-c));三角形的周长L=a+b+c。
那么,你可以编写以下C语言代码来解决您的问题:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, p, s, l;
printf("请输入三个数a, b, c:\n");
scanf("%f %f %f", &a, &b, &c);
if(a <= 0 || b <= 0 || c <= 0)
{
printf("无法构成三角形!\n");
}
else if(a + b > c && a + c > b && b + c > a)
{
// 面积
p = (a + b + c) / 2;
s = sqrt(p * (p - a) * (p - b) * (p - c));
// 周长
l = a + b + c;
printf("可以构成三角形!\n");
printf("三角形的面积为 %.2f,周长为 %.2f\n", s, l);
}
else
{
printf("无法构成三角形!\n");
}
return 0;
}
请注意,这只是一个简单的示例,并不考虑一些高精度或异常情况。
阅读全文