重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言if函数判断三角形 c语言if里面判断条件或用什么

用C语言编写一个判断三角形的函数,求大佬帮忙修改!

#includestdio.h

成都创新互联公司是工信部颁发资质IDC服务器商,为用户提供优质的德阳机房托管服务

#includemath.h

main()

{ float a,b,c;

float s,area;

scanf("%f,%f,%f",a,b,c);

if(a+bcb+caa+cb)

{ s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c)); //有改动 

printf("the area is:%f\n",area);

if(a==ba==c)

printf("equilateral triangle\n");

else if(a==b||b==c||a==c)

printf("isoceles triangle\n");

else if(fabs(a*a+b*b-c*c)1e-8||fabs(a*a+c*c-b*b)1e-8||fabs(b*b+c*c-a*a)1e-8) //有改动

printf("right angled triangle\n");

else

printf("triangle");

}

else

printf("can not compose triangle");

}

c语言判断三角形形状

你对r赋值的时候用了两个等于号“==”,赋值用一个等于号,判断 的时候采用两个!

而且输出语句应该放在第一个if外面,应该就这两个问题,代码如下:

#include stdio.h

int main(){

int a, b, c, r;

printf("Please input three integers:\n");

scanf("%d%d%d",a,b,c);

if(a == b ==c) r = 3;

else{

if(a + b c a - b c){

if(b + c a b - c a){

if(a + c b a - c b){

if(a * a == b * b + c * c || b * b == a * a +c * c || c * c == a * a + b * b)

r = 1;

else if((a == b a != c) || (b == c a != b )|| (a ==c b != a))

r = 2;

else

r = 0;

}

else

r = -1;

}

else

r = -1;

}

else

r =-1;

}

if(r == -1)

printf("Tt's not an integer.");

else if(r == 0)

printf("It's an scalenous triangle.");

else if(r == 1)

printf("It's an right-angeld triangle.");

else if(r == 2)

printf("It's an isosceles triangle.");

else if(r == 3)

printf("It's an equilateral triangle.");

return 0;

}

C语言:三角形类型判断(循环)

按照你的要求编写的判断三角形类型的C语言程序如下

#includestdio.h

#includemath.h

float cal_area(float a,float b,float c){

float p,s;

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

return s;

}

int main(){

int i,n;

float a,b,c,e=0.001;

scanf("%d",n);

for(i=0;in;i++){

scanf("%f%f%f",a,b,c);

if(a+b=c || a+c=b || b+c=a){

printf("no triangle\n");

}else if(fabs(a-b)e  fabs(b-c)e){

printf("equilateral triangle,");

printf("%.1f\n",cal_area(a,b,c));

}else if((fabs(a-b)e || fabs(b-c)e || fabs(a-c)e)  (fabs(a*a+b*b-c*c)e || fabs(a*a+c*c-b*b)e || fabs(b*b+c*c-a*a)e)){

printf("isosceles right triangle,");

printf("%.1f\n",cal_area(a,b,c));

}else if(fabs(a-b)e || fabs(b-c)e || fabs(a-c)e){

printf("isosceles triangle,");

printf("%.1f\n",cal_area(a,b,c));

}else if(fabs(a*a+b*b-c*c)e || fabs(a*a+c*c-b*b)e || fabs(b*b+c*c-a*a)e){

printf("right triangle,"); 

printf("%.1f\n",cal_area(a,b,c));

}else{

printf("general triangle,"); 

printf("%.1f\n",cal_area(a,b,c));

}

}

return 0;

}

运行结果

3

3.0 2.0 6.0

no triangle 

3.0 4.0 5.0

right triangle,6.0

1.0 1.0 1.414

isosceles right triangle,0.5

在C语言中,输入三个数,判断他们能否构成三角形,如果可以,能构成何种三角形

就是单纯的条件语句,我没写近似值的比较,你想输入精确的小数比较(比如满足1:2:√3),自己写个取近似值的函数再传值好了。

#includestdio.h

double jd(double a,double b,double c);//通过3个角度判断  返回0:不是三角形  返回1:是三角

double bc(double a,double b,double c);//通过3个变长判断  返回0:不是三角形  返回1:是三角

int main()

{

double a,b,c;

while(1)

{

printf("输入3个数:");

scanf("%lf%lf%lf",a,b,c);

if(a0  a360  b0  b360  c0  c360)

{

printf("如果输入的数是3个角度,那么");

jd(a,b,c);

}

printf("如果输入的数是3个边长,那么");

bc(a,b,c);

}

return 0;

}

double bc(double a,double b,double c)//通过3个变长判断  返回0:不是三角形  返回1:是三角

{

if(a+b=c || b+c=a || a+c=b)

{

printf("不能构成三角形\n");

return 0;

}

if(a==b  b==c)

printf("可以构成等边三角形\n");

else if((a==b  a*a+b*b==c*c) || (b==c  c*c+b*b==a*a) || (a==c  a*a+c*c==b*b))

printf("可以构成等腰直角三角形\n");

else if(a==b || b==c ||a==c)

printf("可以构成等腰三角形\n");

else if(a*a+b*b==c*c || c*c+b*b==a*a || a*a+c*c==b*b)

printf("可以构成直角三角形\n");

else

printf("可以构成普通三角形\n");

return 1;

}

double jd(double a,double b,double c)//通过3个角度判断  返回0:不是三角形  返回1:是三角

{

if(a180  a360)

a=360-a;

if(b180  b360)

b=360-b;

if(c180  b360)

c=360-c;

if(a+b+c!=180)

{

printf("不能构成三角形\n");

return 0;

}

if(a==b  b==c)

printf("可以构成等边三角形\n");

else if((a==90||b==90||c==90)  (a==b || b==c ||a==c))

printf("可以构成等腰直角三角形\n");

else if(a==b || b==c ||a==c)

printf("可以构成等腰三角形\n");

else if(a==90||b==90||c==90)

printf("可以构成直角三角形\n");

else

printf("可以构成普通三角形\n");

return 1;

}


标题名称:c语言if函数判断三角形 c语言if里面判断条件或用什么
当前URL:http://cqcxhl.cn/article/doiijeh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP