求解一道编程题

来源:百度知道 编辑:UC知道 时间:2024/09/21 04:11:20
根据输入的三角形的三边长,判断其能否组成三角形,若可以则输出它的面积和三角形的类型(等腰、等边、普通、直角和非法三角形)。
以下答案哪错了?
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=0.5*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c&&a+c>b&&b+c>a)
if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&a!=b))
printf("\n等腰\n");
printf("area=%.2f\n",area);
else if(a==b&&b==c)
printf("\n等边\n");printf("area=%.2f\n",area);
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("\n直角\n");printf("area=%.2f\n",area);
else
printf("\n非法三角形\n");
}

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
double s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=0.5*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c&&a+c>b&&b+c>a)
{
if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&a!=b))
{printf("\n等腰\n");
printf("area=%.2f\n",area); }
else if(a==b&&b==c)
{printf("\n等边\n");printf("area=%.2f\n",area); }
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
{printf("\n直角\n");printf("area=%.2f\n",area); }
}
else
{printf("\n非法三角形\n"); }
}

#include<stdio.h>
#include<math.h>
main()
{
double a,b,c,s,area;
scanf("%lf,%lf,%lf",&a,&b,&c);
s=0.5*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));