C语言设计程序:从键盘输入三角形的三边长为a,b,c,用海伦公式计算并输出三角形的面积。

2024-11-08 03:36:35
有4个网友回答
网友(1):

两者计算是不同的。

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是正确的。

  1. C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

  2. 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

网友(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是正确的。

网友(3):

讲解三角形,海伦公式最简单的证明

网友(4):

1/2==0

由于变量abc都是float型,故使用s=(a+b+c)/2没有上述问题,或者你干脆写成s = 1.0/2 * (a + b + c)也可以