#include <stdio.h>
#include <math.h>
int main ()
{
double a,b,c,s,area
printf("Enter a b c:")
// 因为是double类型的数据,要用lf
while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF)
{
s=(a+b+c)/2
area=sqrt(s*(s-a)*(s-b)*(s-c))
printf("area=%lf",area)
}
return 0
}
运行结果:
#include&lt;math.h&gt;#include&lt;stdio.h&gt;main(){float a,b,c,p,s;printf(&quot;chang kuan gao shi ?&quot;);scanf(&quot;%f%f%f&quot;,&amp;a,&amp;b,&amp;c);&#47;&#47;注意p=(a+b+c)&#47;2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(&quot;mian ji shi:%f&quot;,s);}最后吐一下糟,这个英语水平,实在是,现在都有在线字典了啊写海伦公式,我先后用了两个编译器,第一个是 visual studio 2019,第二个是Devc++
出现的问题,运行可以,但输入数据后运行,就error
第一个visual studio 2019 使用scanf 应为 scanf_s,Devc++则用scanf即可
第二个visual studio 2019 运行后 输入三个边长,
首先, 输入三个边长,必须是 3 4 5(中间要以空格隔开,逗号可不行,也会报error)
其次,要符合两条边之和大于第三边,否则 error;
#include<stdio.h>
#include<math.h>
#define p ((a+b+c)/2)
int main()
{
float a, b, c
double area
printf("Enter a b c:") //我终于知道了,运行后 输入值之间要以空格隔开,不然就error了
scanf_s("%f%f%f", &a, &b, &c)
if (a >= b + c || b >= a + c || c >= a + b)
{
printf("error")
}
else
{
area = sqrt((double)(p * (p - a) * (p - b) * (p - c)))//sqrt 代表开方;
printf("a=%f,b=%f,c=%f,p=%f\n", a, b, c, p)
printf("area=%f\n", area)
}
return 0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)