#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
float s, area;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if (a+b>c && b+c>a && a+c>b)
{
s = 1/2 * (a + b + c);
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("area=%.2f\n", area);
}
else
{
printf("It is not a triangle\n");
}
return 0;
}
上述代码中 s = 1/2 * (a + b + c)错误,应该改为s=(a+b+c)/2,但是这两句代码难道不是等价的吗,为什么会不一样?大神求解
两者计算是不同的。
s=1/2*(a+b+c)
按C语言的运算规则,先算括号,a+b+c,结果为float型
然后由于/和*同级,因此从左到右计算。先计算1/2
1、2都是整型,整型计算,结果仍为整型,1/2=0,因此,不管后面a+b+c的值为何,s的值都是0
而对于s=(a+b+c)/2,先算a+b+c,结果为float型,float型和整型2计算,结果为float型。
因此s=1/2*(a+b+c)是错误的,s=(a+b+c)/2是正确的。
讲解三角形,海伦公式最简单的证明
C语言设计程序:从键盘输入三角形的三边长为a,b,c,用海伦公式计算并输出...
s=1\/2*(a+b+c)按C语言的运算规则,先算括号,a+b+c,结果为float型 然后由于\/和*同级,因此从左到右计算。先计算1\/2 1、2都是整型,整型计算,结果仍为整型,1\/2=0,因此,不管后面a+b+c的值为何,s的值都是0 而对于s=(a+b+c)\/2,先算a+b+c,结果为float型,float型和整型2...
C语言编程:输入三角形的三条边(假设能构成三角形),输出三角形的面积...
{if(abs(a-b)<c&&abs(a-c)<b&&abs(b-c)<a)<br\/> {if(a==b||a==c||b==c)<br\/> {printf("这是一个等腰三角形!\\n");<br\/> printf("这个三角形面积:%f\\n",area);} else {printf("不是等腰三角形!\\n");<br\/> printf("这个三角形面积%f\\n",area);}} ...
在c语言中输入三角形的三边长啊a,b,c,求三角形的面积?
假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=√[p(p-a)(p-b)(p-c)]而公式里的p为半周长:p=(a+b+c)\/2 include<stdio.h> include<math.h> void main(){ float a,b,c,s,area;printf("依次输入a,b,c(空格识别一个数):");scanf("%f...
c语言求三角形面积
从键盘输入三角形的三边长a,b,c(整数),按下面公式计算并输出三角形的面积。其中,要求:输入的a,b,c的值必须满足三角形成立的条件,即在一个三角形中,任意两边之和大于第三边。可以先判断是否可以构成三角形,即任意两边之和大于第三边,可以构成三角形情况下再计算,这样可以增加严谨性。C语言是...
C语言编程,已知三角形的三边长a,b,c,计算求三角形面积的公式为:
int main(){ printf("输入三个边长:\\n");float a,b,c;float s,area;scanf("%f%f%f",&a,&b,&c);s = (a+b+c)\/2;area = sqrt(s*(s-a)*(s-b)*(s-c));if(a+b>c && b+c>a && a+c>b)printf("面积是%.2f\\n",area);else printf("三条边无法构成三角形");return...
三条边的长度分别为a, b, c,怎样算三角形的面积。
海伦公式:S=√[p(p-a)(p-b)(p-c)]p=(a+b+c)\/2代入即可。C语言:输入三角形三条边的边长,并输出面积:1、首先打开我们的DEV C++软件,点击“新建源代码”。2、在编辑页面输入以下代码:include<stdio.h> int main(){ folat a,b,c,s,p ;printf("请输入三角形的三边:");scanf(...
怎么用C语言输入三角形的三条边长,计算并输出三角形的面积
include<stdio.h> int main(){ folat a,b,c,s,p ;printf("请输入三角形的三边:");scanf("%f %f %f",&a,&b,&c);p=(a+b+c)\/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形的面积为:%.1f",s);return 0;} ...
...编写程序输入三角形的3条边长,计算并输出三角形的面积。
一、程序分析 三角形面积海伦公式:√[ p ( p - a ) ( p - b ) ( p - c ) ] 。其中 p = (a + b + c) \/ 2 。a、b、c分别是三角形的三边长。二、根据三角形面积计算公式用if语句编写程序如下:include "stdio.h"include "math.h"int main(void){ float a = 0, b = 0...
C语言 输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积和周长...
一、算法分析:1、 输入三条边,a,b,c;2、 判断是否可以构成三角形。 可以利用三角形两边之和必然大于第三边的定理进行判断;3、 对于可以构成三角形的,三边相加求周长,并利用海伦公式求面积;海伦公式为 式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。4、 输出周长和面积。...
输入三角形的3各边长a,b和c,应用下面的海伦公式计算三角形的面积area...
main(){ float a[3],b[3],c[3],area,s;int i;printf("输入三角形的三边长度a,b,c:");for( i=0;i<3;++i){ scanf("%f",&a[i]);} a[3]=a[1];for( i=0;i<3;++i){ b[i]=abs(a[i]-a[i+1]);c[i]=a[i]+a[i+1];} if( b[1]<a[0]&&a[0]<c[1...