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 展开
#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 展开
4个回答
展开全部
double类型的。
%f应该是 %lf
加个字母 l
%f应该是 %lf
加个字母 l
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试试把double a,b,c,s,area;改为float a,b,c,s,area;行不行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询