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语言编写程序:输入三角形的三条边,判断它们能否构成三角形,若能则指出何种三角形。