[qoute]写两个函数,第一个用于判断输入的3个数是否能组成三角形,组成的是等边三角形,还是等腰三角形。第二个函数用于计算三角形的面积。(判断能否组成三角形的条件为:任意两边之和必须大于第三边,等边三角形条件为:三边必须相等,等腰三角形条件为:首先必须能组成三角形,然后三边中任意两边相等亦可,已知三边求面积方法:l=(a+b+c)/2,s=√l*(l-a)*(l-b)*(l-c) [/qoute]
感谢RR同学的提醒,修改代码:
- <html>
- <body text="#003366" style="font:14px;">
- 求三个数字能否组成三角形,如果能,算出是什么三角形,并求出面积 , 请输入a ,b ,c的值:
- <form method="get" action="">
- a<input type="text" size="10" name="a" />
- b<input type="text" size="10" name="b" />
- c<input type="text" size="10" name="c" />
- <input type="submit" name="submit" value="查询结果" />
- </form>
- <?php
- /*写两个函数,第一个用于判断输入的3个数是否能组成三角形,组成的是等边三角形,还是等腰三角形。第二个函数用于计算三角形的面积。(判断能否组成三角形的条件为:任意两边之和必须大于第三边,
- 等边三角形条件为:三边必须相等,等腰三角形条件为:首先必须能组成三角形,然后三边中任意两边相等亦可,已知三边求面积方法:l=(a+b+c)/2,s=√l*(l-a)*(l-b)*(l-c)
- */
- function fun1($x,$y,$z)
- {
- if ($x+$y<=$z || $x+$z<=$y || $y+$z<=$x || $x==0 || $y==0 || $z==0)
- {
- $p=$x.','.$y.','.$z.' 不能组成三角形' ;
- }
- elseif ($x==$y && $x==$z)
- {
- $p=$x.','.$y.','.$z.' 能够组成三角形,组成的是等边三角形' ;
- }
- elseif (($x==$y) || ($x==$z) || ($y==$z))
- {
- $p=$x.','.$y.','.$z.' 能够组成三角形,组成的是等腰三角形' ;
- }
- elseif (($x==$y && (pow($x,2+pow($y,2)==pow($z,2)))) || ($x==$z && (pow($x,2+pow($z,2)==pow($y,2)))) || ($y==$z && (pow($z,2+pow($y,2)==pow($x,2)))))
- {
- $p=$x.','.$y.','.$z.' 能够组成三角形,组成的是等腰直角三角形' ;
- }
- elseif ((pow($x,2+pow($y,2)==pow($z,2))) || (pow($x,2+pow($z,2)==pow($y,2))) || (pow($z,2+pow($y,2)==pow($x,2))))
- {
- $p=$x.','.$y.','.$z.' 能够组成三角形,组成的是直角三角形' ;
- }
- else
- {
- $p=$x.','.$y.','.$z.' 能够组成三角形,组成的是普通三角形' ;
- }
- return $p;
- }
- function fun2($x,$y,$z)
- {
- $l=($x+$y+$z)/2;
- $s=sqrt($l*($l-$x)*($l-$y)*($l-$z));
- return $s;
- }
- $a=$_GET['a'];$b=$_GET['b'];$c=$_GET['c'];
- $p=fun1($a,$b,$c);
- $s=fun2($a,$b,$c);
- echo $p;
- echo '<br />';
- echo '面积为'.$s;
- ?>
- </body>
- </html>


#1