运用C语言函数和海伦公式求三角形面积?急求
答案:3 悬赏:80 手机版
解决时间 2021-03-20 10:29
- 提问者网友:半生酒醒
- 2021-03-19 19:31
运用C语言函数和海伦公式求三角形面积?急求
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-03-19 20:02
程序已改正,楼主自己对照下,我调试通过了
#include
#include
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=(((ap=(1.0/2)*(a+b+c);//错误1
s=sqrt(p*(p-a)*(p-b)*(p-c));
#include main() { double a,b,c; double s,area,d; printf("Enter three number a,b,c."); scanf("%f%f%",&a,&b,&c); //
#include
#include
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=(((ap=(1.0/2)*(a+b+c);//错误1
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("a,b,c三个数中最大的是:%lf
",max);//错误2
printf("a,b,c三个数中最小的是%lf
",min);//错误3
printf("三角形的面积为:%.3lf
",s);
全部回答
- 1楼网友:摆渡翁
- 2021-03-19 20:37
#include
#include
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);//保留了三位小数
}追问nice
#include
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);//保留了三位小数
}追问nice
- 2楼网友:人间朝暮
- 2021-03-19 20:08
# include
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不符合条件,请重新输入");
}
}追问……为什么我运行不了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯