DECLARE @A INT,@B INT,@C INT,@D FLOAT,@S FLOAT
SET @A=100
SET @B=78
SET @C=56IF(@A<@B+@C AND @A>ABS(@B-@C))
BEGIN
SET @D=(@B*@B+@C*@C-@A*@A)/2*@B*@C
SET @S=0.5*@B*@C*SQRT(1-@D*@D)
PRINT'三角形的面积是'+CONVERT(VARCHAR(50),@S)
END
ELSE
BEGIN
PRINT'这三个边长不可能组成三角形'
END
报的错误:
消息 3623,级别 16,状态 1,第 9 行
发生域错误。
SET @A=100
SET @B=78
SET @C=56IF(@A<@B+@C AND @A>ABS(@B-@C))
BEGIN
SET @D=(@B*@B+@C*@C-@A*@A)/2*@B*@C
SET @S=0.5*@B*@C*SQRT(1-@D*@D)
PRINT'三角形的面积是'+CONVERT(VARCHAR(50),@S)
END
ELSE
BEGIN
PRINT'这三个边长不可能组成三角形'
END
报的错误:
消息 3623,级别 16,状态 1,第 9 行
发生域错误。
解决方案 »
- 要做一个研究生信息管理系统求相关的数据库信息
- 触发器如何使用呢?也就是说在VB代码中的什么位置调用触发器呢,请举例
- 紧急求助,sql语句里面日期比较的问题??
- 急求SQL Log Explorer的正確下載地址.謝謝!
- 哪里出错了??
- 请教各位高手局域网中备份数据库采取哪种方式好
- 在两个表里统计(问题不好描述,请进来看)
- 怎么从visio导入到sql server
- 怎样添加这样的数据,急用,谢谢(在线等待)
- 数据联接问题
- 一个小问题...帮忙看一下下????????????????????????????????????????????????????????????????
- 请教数据字符串截取最后两位
---假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
---S=√[p(p-a)(p-b)(p-c)]
---而公式里的p为半周长:
---p=(a+b+c)/2
DECLARE @A INT,@B INT,@C INT,@D FLOAT,@S FLOAT,@p INTSET @A=100
SET @B=78
SET @C=56
SET @p =(@A+@B+@c)/2IF(@A<@B+@C AND @A>ABS(@B-@C))
BEGINSET @S=SQRT(@p*(@p-@a)*(@p-@b)*(@p-@b))
PRINT'三角形的面积是'+CONVERT(VARCHAR(50),@S)
END
ELSE
BEGIN
PRINT'这三个边长不可能组成三角形'
END三角形的面积是1739.33
SET @B=78
SET @C=56
SET @p =(@A+@B+@c)/2BEGIN
IF @A+@B<@C OR @A+@C<@B OR @C+@B<@A
SELECT N'这三个边长不可能组成三角形'
ELSE
BEGIN TRY
SET @S=SQRT(@p*(@p-@a)*(@p-@b)*(@p-@b))
SELECT N'三角形的面积是'+CONVERT(VARCHAR(50),@S) END TRY
BEGIN CATCH
SELECT N'这三个边长不可能组成三角形'
END CATCH
END-----------------------------
三角形的面积是1739.33(1 row(s) affected)
IF @A+@B<@C OR @A+@C<@B OR @C+@B<@A
=====
改为:IF @A+@B<=@C OR @A+@C<=@B OR @C+@B<=@A
SELECT @D
SET @S=0.5*@B*@C*SQRT(1-@D*@D)
PRINT'三角形的面积是'+CONVERT(VARCHAR(50),@S)
--不是吧,sqrt里面是负数!!!
/*
-1703520.0
发生域错误。
*/
* 余弦定理:a2=b2+c2-2bccosA, b2=a2+c2-2accosB, c2=a2+b2-2abcosC
* 三角形一边的平方等于另两边的平方和再减去这两边与夹角余弦的乘积的2倍
*/
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
this.angle1 = Math.acos((this.side2 * this.side2
+ this.side3 + this.side3 - this.side1 * this.side1)
/ 2* this.side2 * this.side3); //余弦定理
this.angle2 = Math.acos((this.side1 * this.side1
+ this.side3 + this.side3 - this.side2 * this.side1)
/ 2* this.side1 * this.side3); //余弦定理
this.angle3 = Math.PI - this.side1 - this.side2;
this.perimeter = this.side1 + this.side2 + this.side3;
this.area = this.side1 * this.side2 * Math.cos(this.angle3);
}
求面积用海轮公式:
已知三角形三边长为a,b,c.
周长的一半p = (a+b+c)/2
三角形面积=sqrt(p*(p-a)*(p-b)*(p-c))