#include
double
area
(double
a,
double
b,
double
c){
double
area=0,s=0
s=(a+b+c)/2
area=sqrt(s*(s-a)*(s-b)*(s-c))
return
area
}
void
main(){
double
a=10,
b=10,
c=10
/*或者用scanf()输入abc的值*/
printf("area=%.2f",area(a,b,c))
}
错误太多了,就不指出哪里修改了(分5大类错误,1缺少分号,2.{}不配对,3相等关系用==,4.逻辑判断有误5.对三角形成立的条件理解不正确【必须任意两边之和大于第三边,而不是≥第三遍】),直接贴上正确的代码#include <stdio.h>
int main(void){
int a,b,c
scanf("%d%d%d",&a,&b,&c)
if (a+b<=c||a+c<=b||b+c<=a){
printf("\n不能构成三角形:")
}
else if((a==b||a==c||b==c)&&!(a==b&&b==c&&a==c)){
printf("\n等腰三角形:")
}
else if(a==b&&b==c&&a==c){
printf("\n等边三角形:")
}
else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b){
printf("\n直角三角形:")
}
else if((a==b&&a*a+b*b==c*c)||(b==c&&b*b+c*c==a*a)||(a==c&&a*a+c*c==b*b))
printf("\n等腰直角三角形:")
else
printf("\n一般三角形:")
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)