用C语言编程,求三角形面积的函数

三角形的面积可以用:
s= [ s*(s-a)*(s-b)*(s-c) ] 中括号里面的开根号
s=(a+b+c)/2
求得。
a,b,c为三角形的三个边。请设计一个求三角形面积的函数

float x,y,z,p,area; //声明变量,用来存放运算中间值或结果
printf("please input x,y,z:"); //显示提示文本
scanf("%f,%f,%f",&x,&y,&z); //格式化输入,%f表示将键入的字符转为浮点数,&符表示引用变量在内存中的地址,scanf会将格式化后的浮点数保存到那个变量
p=1.0/2*(x+y+z); //1除2和1.0除2是不同的,前者得到0,后者得0.5
area=sqrt(p*(p-x)*(p-y)*(p-z);//一般运算,sqrt是开平方,是不是少了个")"
printf("area=%7.3f\n",area); //格式化输出函数,area=真接输出,其中%f7.3表示输出宽度为7,小数精度3位.area变量的实际值会转为字符串后替换这些字符,\n换行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-27
#include<stdio.h>
#include<math.h>

main()
{
double a,b,c,s,area,p;
printf("Input 3 numbers\n");
scanf("%lf%lf%lf",&a,&b,&c);

if(a+b>c&&a+c<b&&b+c>a)
{
s=a+b+c;
printf("s=%f\n",s);

p=s/2;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("area=%f\n",area);
}
else
printf("Input Error!\n");
}
第2个回答  2013-11-27
#include "stdio.h"
void main()
{
int a,b,c,s;
scanf("%d%d%d",&a,&b,&c);
s=(a+b+c)/2;
printf("%d",s);
getch();
}
我用的是WINTC编写的可以;
第3个回答  2017-07-03
#include <math.h>
float cal_area( float a, float b, float c )
{
float s = 0.f;

float area = 0.f;

s = (a+b+c)*0.5f;

area = sqrt( s*(s-a)*(s-b)*(s-c) );

return area;

}
第4个回答  2017-07-25
double calculate(double a,double b ,double c)
{
    double p=(a+b+c)/2.0;
    double s=sqrt(p*(p-a)*(p-b)*(p-c));
    return s;
 }

没调过,应该就是这样。记得头文件里加上cmath。

相似回答