C语言 编写函数,输入三角形三边之长,求三角形面积。

大家帮帮忙,谢谢。

以下是使用C语言编写函数,输入三角形三边之长,求三角形面积的代码:

```c
#include <stdio.h>
#include <math.h>

// 根据三条边长度计算三角形面积
float triangleArea(float a, float b, float c) {
float p, area;
p = (a + b + c) / 2; // 计算半周长
area = sqrt(p * (p - a) * (p - b) * (p - c)); // 使用海伦公式计算面积
return area;
}

int main() {
float a, b, c;
float area;

printf("输入三角形的三条边长:
");
scanf("%f %f %f", &a, &b, &c);

// 判断输入是否合法
if (a + b <= c || a + c <= b || b + c <= a) {
printf("输入的三条边长度不合法!
");
return 1;
}

area = triangleArea(a, b, c);

printf("该三角形面积为:%f
", area);

return 0;
}
```

代码中,我们首先在`triangleArea`函数中,根据输入的三条边长,使用海伦公式计算三角形的面积,并返回计算结果。

在`main`函数中,我们使用`scanf`函数从输入中获取三角形三条边的长度。接着,我们通过判断输入的三条边是否满足三角形的三边关系确定输入是否合法。如果输入不合法,程序就直接提示并退出。如果输入合法,我们调用`triangleArea`函数计算三角形的面积,并输出结果。

需要注意的是,我们在使用海伦公式计算三角形面积时,首先需要计算三角形的半周长,然后使用`sqrt`函数计算面积的平方根。因此需要包含头文件`math.h`。

运行结果如下:

```
输入三角形的三条边长:
3 4 5
该三角形面积为:6.000000
```
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-22
#include<stdio.h>
#include<math.h>

float area(float a,float b,float c);

int main()
{
float a,b,c,s;

scanf("%f%f%f",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)
{
s=area(a,b,c);
printf("%.2f\n",s);
}
else
{
printf("Error!\n");
}
return 0;
}
float area(float a,float b,float c)
{
float s,area;

s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}本回答被网友采纳
第2个回答  2023-03-12
求三角形面积。根据网上的搜索结果,我可以使用海伦公式来计算三角形面积,即S=sqrt(p*(p-a)(p-b)(p-c)),其中p=(a+b+c)/2。以下是一个可能的函数实现:
#include <stdio.h>#include <math.h>// 定义一个函数,输入三个浮点数作为三角形的边长,返回三角形的面积double triangle_area(double a, double b, double c) { // 判断是否能构成三角形
if (a + b > c && a + c > b && b + c > a) { // 使用海伦公式计算面积
double p = (a + b + c) / 2; double s = sqrt(p * (p - a) * (p - b) * (p - c)); return s;
} else { // 不能构成三角形,返回-1表示错误
return -1;
}
}int main() { // 测试函数
double a, b, c; printf("请输入三边长度:\n"); scanf("%lf %lf %lf", &a, &b, &c); double s = triangle_area(a, b, c); if (s > 0) { printf("三角形面积为:%.2f\n", s);
} else { printf("不能构成三角形!\n");
} return 0;
}

C语言 编写函数,输入三角形三边之长,求三角形面积。
area = triangleArea(a, b, c);printf("该三角形面积为:%f ", area);return 0;} ```代码中,我们首先在`triangleArea`函数中,根据输入的三条边长,使用海伦公式计算三角形的面积,并返回计算结果。在`main`函数中,我们使用`scanf`函数从输入中获取三角形三条边的长度。接着,我们通过判断输...

C语言编程:输入三角形的三条边(假设能构成三角形),输出三角形的面积...
{if(abs(a-b)<c&&abs(a-c)<b&&abs(b-c)<a) {if(a==b||a==c||b==c) {printf("这是一个等腰三角形!\\n"); printf("这个三角形面积:%f\\n",area);} else {printf("不是等腰三角形!\\n"); printf("这个三角形面积%f\\n",area);}} else {printf("不能构成三角...

如何用C语言写出“输入三角形三边,计算三角形面积”的代码?
C语言:输入三角形三条边的边长,并输出面积:1、首先打开我们的DEV C++软件,点击“新建源代码”。2、在编辑页面输入以下代码:include<stdio.h> int main(){ folat a,b,c,s,p ;printf("请输入三角形的三边:");scanf("%f %f %f",&a,&b,&c);p=(a+b+c)\/2;s=sqrt((p-a)*(p-...

c语言中输入三角形三边长,求三角形面积。
1.已知三角形三边的长度分别是 3、 5、 7 厘米,求该三角形的面积;#include <stdio.h>#include <math.h>int main (){float a=3, b=5, c=7, s;s=(a + b + c)\/2.0;printf("%f\\n", sqrt(s * (s-a) * (s-b) * (s-c)));return 0;} 运行结果:2.求两邻边长度...

怎么用C语言输入三角形的三条边长,计算并输出三角形的面积
include<stdio.h> int main(){ folat a,b,c,s,p ;printf("请输入三角形的三边:");scanf("%f %f %f",&a,&b,&c);p=(a+b+c)\/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形的面积为:%.1f",s);return 0;} ...

c语言中输入三角形三边长,求三角形面积。
c语言中输入三角形三边长,求三角形面积公式如下:include#includepublic void main(){double a,b,c;scanf("%lf%lf%lf",&a,&b,&c); double area,preimeter;preimeter=a+b+c;double p=preimeter\/2;area=sqrt(p*(p-a)*(p-b)*(p-c));printf("area = %.2lf, preimeter = %.2lf...

C语言编写程序,从键盘输入三角形三条边长(实数),计算并输出该三角形三...
include<stdio.h> intmain(){ folata,b,c,s,p;printf("请输入三角形的三边:");scanf("%f%f%f",&a,&b,&c);p=(a+b+c)\/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形的面积为:%.1f",s);return0;}

输入三角形三边求面积c语言
输入三角形三边求面积c语言如下:C语言:输入三角形三条边的边长a、b、c(假设输入的三边长能构成三角形),输出三角形的面积s,要求所有变量定义成float型,输出结果保留一位小数。提示:求三角形面积的海伦公式:设p=(a+b+c)\/2,则s=sqrt(p*(p-a)*(p-b)*(p-c))。开平方根的函数是...

C语言程序,输入三角形的三边,计算三角形的面积。
include<math.h> int main(){ double a,b,c,p,area;printf("input lengths a b c\\n");scanf("%lf %lf %lf",&a,&b,&c);p = (a+b+c)\/2.0;area=p*(p-a)*(p-b)*(p-c);\/\/ 判断能否组成一个三角形, 能则输出面积,不能则打印信息。if (area < 0.0) { printf("...

求C语言编程 键盘输入三边长 算三角形面积
printf("请输入三边长度(如3,4,5): "); \/\/注意逗号是西文的 scanf("%f,%f,%f",&a,&b,&c);if(a+b<=c||b+c<=a||a+c<=b)printf("您所输入的三边不构成三角形!");else { p=(a+b+c)\/2;S=sqrt(p*(p-a)*(p-b)*(p-c)); \/\/海伦公式 printf("此三角形面积为:...

相似回答