运用C语言函数和海伦公式求三角形面积?急求
3个回答
展开全部
#include<stdio.h>
#include<math.h>
main()
{
float a,b,c,s,area=0;
printf("请输入三角形三个边,空格间隔,回车结束!\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c ||a+c<=b || b+c<=a )
{printf("输入错误,三角形两边之和应大于第三边,请重新输入!\n");return 0;}
else
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积是:%.3f",area);//保留了三位小数
}
#include<math.h>
main()
{
float a,b,c,s,area=0;
printf("请输入三角形三个边,空格间隔,回车结束!\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c ||a+c<=b || b+c<=a )
{printf("输入错误,三角形两边之和应大于第三边,请重新输入!\n");return 0;}
else
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积是:%.3f",area);//保留了三位小数
}
更多追问追答
追问
你这个是对的,但怎么没用到函数……
追答
#include
#include
double area(float a,float b,float c,float s)
{ double area;
area=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}
float s(float a,float b,float c)
{ float s;
s=(a+b+c)/2;
return s;
}
main()
{
float a,b,c,x;
double are;
printf("请输入三角形三个边,空格间隔,回车结束!\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c ||a+c<=b || b+c<=a )
{printf("输入错误,三角形两边之和应大于第三边,请重新输入!\n");return 0;}
else
x=s(a,b,c);
are=area(a,b,c,x);
printf("三角形面积是:%.3f",are);//保留了三位小数
}
展开全部
程序已改正,楼主自己对照下,我调试通过了
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,p,s,max,min;
printf("请输入a,b,c三个数:");
scanf("%lf%lf%lf",&a,&b,&c);
max=(((a>b)?a:b)>c?((a>b)?a:b):c);
min=(((a<b)?a:b)<c?((a<b)?a:b):c);
p=(1.0/2)*(a+b+c);//错误1
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("a,b,c三个数中最大的是:%lf\n",max);//错误2
printf("a,b,c三个数中最小的是%lf\n",min);//错误3
printf("三角形的面积为:%.3lf\n",s);
return 0; #include<stdio.h> #include<math.h> main() { double a,b,c; double s,area,d; printf("Enter three number a,b,c."); scanf("%f%f%",&a,&b,&c); //
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-12-16
展开全部
# include <stdio.h>
float x(float a, float b, float c)
{ float s;
s=(a+b+c)/2;
return s;
}
float y(float a, float b, float c,float s)
{ float area;
aera=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}
void main()
{
float a,b,c,s,area;
scanf("%f%f%f",a,b,c);
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf("a,b,c符合条件");
s=x(a,b,c);
area=y(a,b,c,s);
printf("area=%f",area);
}
else
{
printf("a,b,c不符合条件,请重新输入");
}
}
float x(float a, float b, float c)
{ float s;
s=(a+b+c)/2;
return s;
}
float y(float a, float b, float c,float s)
{ float area;
aera=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}
void main()
{
float a,b,c,s,area;
scanf("%f%f%f",a,b,c);
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf("a,b,c符合条件");
s=x(a,b,c);
area=y(a,b,c,s);
printf("area=%f",area);
}
else
{
printf("a,b,c不符合条件,请重新输入");
}
}
追问
……
为什么我运行不了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询