用c语言判断三角形是什么三角形:
首先判断其两边之和是否大于第三边,若大于则判断可以构成三角形,再进一步判断该三角形是什么三角形,并计算这个三角形的面积;否则不能构成三角形。
① 从键盘输入三角形的三条边。
② 判断两边之和是否大于第三边。
③ 若条件成立则判断可构成三角形,计算其面积,并判断其类型;否则判断其不能构成三角形。
④ 在类型判断中首先判断其是否三边相等,条件成立则判断其为等边三角形;否则判断其是否有两边相等,条件成立则判断其为等腰三角形;否则判断其是否有两边的平方和等于第三边的平方,条件成立则判断其为直角三角形;否则判断其为普通三角形。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的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
#include<stdio.h>int
main(){
float
a,b,c,temp
do{
printf("Please
input
a,b,c:\n")
scanf("%f%f%f",&a,&b,&c)
/*对a,b,c从小到大排序*/
if(a>b){temp=aa=bb=temp}
if(a>c){temp=aa=cc=temp}
if(b>c){temp=bb=cc=temp}
if(a+b>c)break
else
{printf("三角形不成立\n")}
}while(1)
if(a==b&b==c)printf("等边三角形\n")
else
if(a==b)
if(a*a+b*b==c*c)printf("等腰直角三角形\n")
else
printf("等腰三角形\n")
else
if(a*a+b*b==c*c)printf("直角三角形\n")
else
printf("一般三角形\n")
}
你可以试验一下,基本满足要求,只有等腰直角三角形,不好测试,因为肯定有边是带根号的
无法输入根号的数据啊