作业帮 > 综合 > 作业

为什么错了.#include

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/17 03:21:15
为什么错了.#include
#include
#include
void main()
{
float a,b,c,l,s;
printf("请输入三角形三边\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{l=(float)(a+b+c/2.0);
s=(float)(sqrt(leng*(l-a)*(l-b)*(l-c)));
if(a==b&&b==c)
printf("此三角形为等边三角形,面积为%f\n",s);
else if(a==b||a==c||b==c)
printf("此三角形为等腰三角形,面积为%f\n",s);
else if(a*a+b*b==c*c||a*a+c*c=b*b||b*b+c*c=a*a)
printf("此三角形为直角三角形,面积为%f\n",s);
else if(a==b&&a*a+b*b=c*c||a==c&&a*a+c*c==b*b||b==c&&b*b+c*c=a*a)
printf("此三角形为等腰直角三角形,面积为%f\n",s);
else
printf("此三角形为一般三角形,面积为%f\n",s);
}
else
printf("不能构成三角形\n");
}
为什么错了.#include
#include<stdio.h>
#include<math.h>
void main()

 float a,b,c,l,s;
 printf("请输入三角形三边\n");
 scanf("%f%f%f",&a,&b,&c); 
 
 if(a+b>c&&a+c>b&&b+c>a) 
 {
  l=(float)((a+b+c)/2);//看你意思应该是用的海伦公式了,那么除2应该是在a、b、c加完后再除
  s=(float)(sqrt(l*(l-a)*(l-b)*(l-c)));//leng应该为l
  if(a==b&&b==c)
  {
   printf("此三角形为等边三角形,面积为%f\n",s);
  }
  else if(a==b||a==c||b==c)
  {
   printf("此三角形为等腰三角形,面积为%f\n",s);
  }     
  else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)//==不能写成=
  {
   printf("此三角形为直角三角形,面积为%f\n",s);
  }
  else if(a==b&&a*a+b*b==c*c||a==c&&a*a+c*c==b*b||b==c&&b*b+c*c==a*a)//==不能写成=
  {
   printf("此三角形为等腰直角三角形,面积为%f\n",s);
  }
  else      
  {
   printf("此三角形为一般三角形,面积为%f\n",s);
  }
 }
 else
 {
  printf("不能构成三角形\n");
 }

给你个建议,写多个表达式时不要怕麻烦,多写几个括号,按自己设定的运行方式把表达式括起来,这样一是不容易范错,毕竟各种运算符的优先级有时还是怕弄错的,如果加了括号就不会出现了,而且别人看你代码也易懂一些