C语言:输入三角形三边长,求三角形面积

我这样做的,可执行结果不对:#include<stdio.h>#include<math.h>intmain(){doublea,b,c,s,area;scanf("a=... 我这样做的,可执行结果不对:
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,s,area;
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("s=%f\narea=%f\n",s,area);
return 0;
}
执行结果:
a=3,b=4,c=5
s=-138839406697793320000000000000000000000000000000000000000000000.000000
area=370974122467222600000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000.000000
Press any key to continue
展开
 我来答
felithuang
2014-07-14 · TA获得超过849个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:710万
展开全部
scanf("a=%f,b=%f,c=%f",&a,&b,&c);

改为:
scanf("%lf %lf %lf",&a,&b,&c);

这是输入不是输出哦。另外,注意是输入用空格分隔还是用逗号分隔,要一致。
tonalilili
推荐于2017-12-07 · TA获得超过1.6万个赞
知道大有可为答主
回答量:8050
采纳率:71%
帮助的人:3072万
展开全部
double类型的。
%f应该是 %lf
加个字母 l
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
璃与小葵
2014-07-14
知道答主
回答量:2
采纳率:0%
帮助的人:2.4万
展开全部
你试试把double a,b,c,s,area;改为float a,b,c,s,area;行不行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happy小野妈妈
2017-12-06
知道答主
回答量:1
采纳率:0%
帮助的人:924
展开全部
#include<cstdio>
#include<cmath>
#include<math.h>
using namespace std;
int main()
{
float xa,ya,xb,yb,xc,yc,n,a,b,c,r,s;
scanf("%f%f%f%f%f%f",&xa,&ya,&xb,&yb,&xc,&yc);
a=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));
b=sqrt((xb-xc)*(xb-xc)+(yb-yc)*(yb-yc));
c=sqrt((xc-xa)*(xc-xa)+(yc-ya)*(yc-ya));
r=(a+b+c)/2;
s=sqrt(r*(r-a)*(r-b)*(r-c));
printf("%.2f",s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式