c语言,第四题

如题所述

#include<stdio.h>
#include<math.h>
#define pf(x) (x*x)
#define bzc (a+b+c)/2
void main(){
    double a,b,c;
printf("输入三边:");
scanf("%lf %lf %lf",&a,&b,&c);
if(a<0||b<0||c<0||a+b<=c||a+c<=b||b+c<=a){
printf("不能构成三角形\n");
}
else if(pf(a)+pf(b)==pf(c)||pf(c)+pf(b)==pf(a)||pf(a)+pf(c)==pf(b)){
if(a==b||a==c||b==c){
printf("等腰直角三角形\n");
printf("面积为:%lf\n",sqrt(bzc*(bzc-a)*(bzc-b)*(bzc-c)));
}
else{
printf("非等腰直角三角形\n");
printf("面积为:%lf\n",sqrt(bzc*(bzc-a)*(bzc-b)*(bzc-c)));
}
}
else{
printf("非直角三角形\n");
printf("面积为:%lf\n",sqrt(bzc*(bzc-a)*(bzc-b)*(bzc-c)));
}
}

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-30
#include<stdio.h>
int main()
{
 float a,b,c;/*三角形的三条边用a,b,c来代替*/
 scanf("%f%f%f",&a,&b,&c);
 if(a+b>c&&a+c>b&&b+c>a&&a>0&&b>0&&c>0) 
    if(a==b==c) printf("为等边三角形!\n");
    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("为等腰直角三角形!\n");
    else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("为非等腰的直角三角形!\n");
    else if(a==b||a==c||b==c) printf("为等腰的非直角三角形!\n");
    else printf("为普通的三角形!\n");
 else printf("不能构成三角形!\n");
 return 0;
 }

本回答被提问者和网友采纳
第2个回答  2015-11-01
这是什么资料追答

觉得挺赞的

追问

学校自己出的书,我反而觉得很差

相似回答