根据海伦公式由三角形的三边长度a、b、c可以计算三角形面积。用C语言来做的,请问我的代码那里有错?

#include<stdio.h>#include<math.h>doublea,b,c;doubletriangle_area(doublea,doubleb,doub... #include<stdio.h>
#include<math.h>
double a,b,c;
double triangle_area(double a, double b, double c);
int main()
{
printf("请输入三角形的3边之长:");
scanf("%f,%f,%f",&a,&b,&c);
double triangle_area(double, double, double);
printf("三角形面积S=%.1f\n",triangle_area);
return 0;
}
double triangle_area(double, double, double)
{
double p=(a+b+c)/2;
double triangle_area;
triangle_area=sqrt((p*(p-a)*(p-b)*(p-c)));
return triangle_area;
}
展开
 我来答
匿名用户
推荐于2017-09-05
展开全部
#include<stdio.h>
#include<math.h>

//定义了全局变量
double a,b,c;


//计算面积的函数申明
double triangle_area(double a, double b, double c);


int main()
{
    printf("请输入三角形的3边之长:");

    //输入的数据保存在全局变量中,但是变量是double类型的,所以%f显然是不行的
    //scanf("%f,%f,%f",&a,&b,&c);
    scanf("%lf,%lf,%lf",&a,&b,&c);

    //请问下面这句是干嘛的啊,干嘛的呀,前面已经申明了,还需要在main里边申明么?
    //哪本书上面有这么写过?
    //double triangle_area(double, double, double);

    //下面的函数调用让我大吃一惊,triangle_area是函数名?为毛不加括号???????
    //你这C的基础也太差了吧,跟谁学的??
    //printf("三角形面积S=%.1f\n",triangle_area);

    printf("三角形面积S=%.1f\n",triangle_area(a,b,c));
    return 0;
}

//计算面积函数实现,请问函数申明的时候都加了形参,为什么在实现的时候,不加形参啊?
//你确定这样能编译通过么?????
//double triangle_area(double, double, double)
double triangle_area(double a, double b, double c)
{
    double p=(a+b+c)/2;

    //变量名字还跟函数名字相同。。。。。
    double triangle_area;
    triangle_area=sqrt((p*(p-a)*(p-b)*(p-c)));
    return triangle_area;
}
piz168
2014-12-13 · 超过15用户采纳过TA的回答
知道答主
回答量:43
采纳率:100%
帮助的人:22.6万
展开全部
请改成

#include<stdio.h>
#include<math.h>
double a,b,c;
double triangle_area(double a, double b, double c);
int main()
{
printf("请输入三角形的3边之长:");
scanf("%lf,%lf,%lf",&a,&b,&c); //用lf不是f
double area=triangle_area(a, b, c);
printf("三角形面积S=%.1f\n",area);
return 0;
}
double triangle_area(double a, double b, double c)
{
double p=(a+b+c)/2;
double triangle_area;
triangle_area=sqrt((p*(p-a)*(p-b)*(p-c)));
return triangle_area;
}
输入的时候用
3,4,5
加上逗号
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mirainoe
2014-12-13 · TA获得超过315个赞
知道小有建树答主
回答量:513
采纳率:0%
帮助的人:265万
展开全部
函数调用那里,输入double是%lf
追问
试过了,还是一样
追答
你的函数调用,调了和没调一样
printf(".."triangle_aera(a,b,c));
还有scanf
想要空格输入的话

scanf("%lf %lf %lf");
你内个一定要这么输入才行
3,4,5 而不能3 4 5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式