C语言中三角形求面积

#include<stdio.h>#include<math.h>intmain(){doublea,b,c,s,d,f;printf("请输入三角形的三边长:");sc... #include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,s,d,f;

printf("请输入三角形的三边长:");

scanf("%f,%f,%f",&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a)
{

s=1.0/2*(a+b+c);

d=s*(s-a)*(s-b)*(s-c);

f=sqrt(d);

printf("三角形的面积为:%8.2f\n",f);
}

else

printf("您输入的三角形三边有误!!\n");

return 0;

}
我这个代码怎么错了吗?输出的结果总是错误!
这个代码可以运行就是结果不对!
展开
 我来答
若栖寻尽0l
2014-03-19 · TA获得超过334个赞
知道小有建树答主
回答量:148
采纳率:100%
帮助的人:121万
展开全部
a,b,c都被定义为double型数据,所以输入时应用%lf
然后你的scanf函数为scanf("%f,%f,%f",&a,&b,&c);

这时输入时应该用“,”将三条边分开
如果不用逗号的话vc++6.0会自动默认为在空格、回车、或者tab时分开
所以直接将逗号删掉就行了。
如果不删的话就只能输入3,4,5即用“,”将数据隔开
更多追问追答
追问
那个代码可以运行,只是结果总是错,比如这个输入3 4 5,明明可以构成三角形,应该执行运算的结果还是判断有误!
追答
输入3,4,5就没问题了,用“,”将输入内容隔开
TypeCodes
2014-03-19 · Beauty of programming.
TypeCodes
采纳数:67 获赞数:998

向TA提问 私信TA
展开全部
你定义的是double类型的 a,b,c,但是在输入时却是float类型的数据,所以报错了。把scanf("%f,%f,%f",&a,&b,&c);中的 %f 改成 %lf 即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4dc94a6
2014-03-19 · 贡献了超过115个回答
知道答主
回答量:115
采纳率:0%
帮助的人:42.4万
展开全部
scanf("%f,%f,%f");这个格式就代表例如你输入123就要1,2,3这样输入。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式