成都创新互联公司是专业的渭南网站建设公司,渭南接单;提供成都网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行渭南网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
判断三角形---抛砖引玉参考资料:
#include stdio.h
#include stdlib.h
void input(int a,int b,int c)
{
printf("input the a =");
scanf("%d",a);
printf("\n");
printf("input the b =");
scanf("%d",b);
printf("\n");
printf("input the c =");
scanf("%d",c);
printf("\n");
}
int panduan(int a,int b,int c)
{
if (a=100 a=1)
{
return 0;
exit(0);
}
if (b=100 b=1)
{
return 0;
exit(0);
}
if (c=100 c=1)
{
return 0;
exit(0);
}
if (ab+c)
if (ba+c)
if (ca+b)
return 4;
else
return 0;
}
void leixing(int i)
{
switch (i)
{
case '0':
printf("a,b,c不能组成一个三角形!\n");
case '1':
printf("a,b,c组成了一个等边三角形!\n");
case '2':
printf("a,b,c组成了一个等腰三角形!\n");
case '3':
printf("a,b,c组成了一个直角三角形!\n");
case '4':
printf("a,b,c组成一个普通的三角形!\n");
default:
printf("a,b,c组成一个普通的三角形!\n");
}
}
int dengbian(int a,int b,int c)
{
if (a==b)
if (b==c)
return 1;
else
return 0;
}
int dengyao(int a,int b,int c)
{
if (a==b ||b==c||c==a)
return 2;
else
return 0;
}
int zhijiao(int a,int b,int c)
{
if ((a*a)==(b*b)+(c*c))
{
return 3;
exit(0);
}
if ((b*b)==(c*c)+(a*a))
{
return 3;
exit(0);
}
if ((c*c)==(b*b)+(a*a))
{
return 3;
exit(0);
}
else
return 0;
}
int xingzhuang(int a,int b,int c)
{
int temp=0;
temp=dengbian(a,b,c);
if (temp)
{
return temp;
exit(0);
}
temp=dengyao(a,b,c);
if (temp)
{
return temp;
exit(0);
}
temp=zhijiao(a,b,c);
if (temp)
{
return temp;
exit(0);
}
else
return 1;
}
void main()
{
int a,b,c;
int temp;
input(a,b,c);
// printf("%d%d%d",a,b,c);
temp=panduan(a,b,c);
// printf("%d",temp);
if (temp==1)
{
temp=xingzhuang(a,b,c);
// printf("%d",temp);
leixing(temp);
}
else
leixing(temp);
}
按照你的要求编写的判断三角形类型的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
一、三角形问题:
(1)
#includestdio.h
#includemath.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==ba==cb==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=1a=100)(b=1b=100)(c=1c=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=1a=100)(b=1b=100)(c=1c=100))
{
if(a+bc||a+cb||b+ca)
/*判断是否能构成三角形*/
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