c语言判断三角形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言判断三角形相关的知识,希望对你有一定的参考价值。

一、三角形问题:
(1)
#include<stdio.h>
#include<math.h>
void
method(float
a,float
b,float
c)

float
p;
if((((a+b)>=c)&&(fabs(a-b)<c))||
(((b+c)>=a)&&(fabs(b-c)<a))||
(((a+c)>=b)&&(fabs(a-c)<b)))

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

if(a==b&&a==c&&b==c)
printf("等边三角形\n");
else
printf("等腰三角形\n");

else
printf("一般三角形\n");

else

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


main()

float
a,b,c;
intflag=0;
printf("请选择要进行的操作\n1
创建一个三角形.\n0
退出\n");
scanf("%d",&flag);
while(flag==1)

printf("请输入三角形的三条边长:\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100))
method(a,b,c);
else
printf("请输入1-100之间的数作为边长!");
printf("请选择要进行的操作\n1
创建一个三角形.\n0
退出\n");
scanf("%d",&flag);


(2)
#include
<stdio.h>
void
main()

float
a,b,c;
printf("请输入三角形的三条边长a,b,c:\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100))

if(a+b<c||a+c<b||b+c<a)
/*判断是否能构成三角形*/
printf("非三角形!\n");
else
if((a==b&&(a!=c))||(a==c&&(b!=c))||(b==c&&(a!=c)))/*判断是否为等腰三角形*/
printf("等腰三角形\n");
else
if(a==c
&&
a==b)
/*判断是否为等边三角形*/
printf("等边三角形\n");
else
printf("一般三角形!\n");

else
printf("请输入1-100之间的数!\n");

测试数据:(1)3,3,4;(2)3,3,3(3)1,2,3(4)-1,0,1(5)3.5,4,5
参考技术A #
include
<stdio.h>
#
include
<math.h>
void
main()

int
a,b,c;
double
q,s;
printf("please
input
a,b
and
c\n");
scanf("%d%d%d",&a,&b,&c);
if(!(a>0
&&
b>0
&&
c>0))

printf("a
or
b
or
c
is
negative...");

if(!((a+b)>c
&&
(b+c)>a
&&
(a+c)>b))

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

else

q=(a+b+c)/2.0;
s=sqrt(q*(q-a)*(q-b)*(q-c));
if(a==b
||
b==c
||
a==c)

if(a==b
&&
b==c)

printf("是等边三角形,面积是%lf\n",s);

else

printf("是等腰三角形,面积是%lf\n",s);


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

printf("是直角三角形,面积是%lf\n",s);

else

printf("是一般三角形,面积是%lf\n",s);


以上是关于c语言判断三角形的主要内容,如果未能解决你的问题,请参考以下文章

c语言编写程序:输入三角形的三条边,判断它们能否构成三角形,若能则指出何种三角形。

c语言编写程序:输入三角形的三条边,判断它们能否构成三角形,若能则指出何种三角形。

C语言编程实例14

「C语言」「算法」根据三边判断三角形类型

C语言试题七十二之请编写函数判断三角形的类型,并输出其面积和类型。

C语言试题七十二之请编写函数判断三角形的类型,并输出其面积和类型。