加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

判断三角形形状(锐角,直角,钝角)

(2013-06-10 21:15:47)
标签:

学习

it

分类: 学习-C语言


#include<stdio.h>
#include<math.h>
void main()
{
 float a,b,c,max,a1,b1,k;
 int x1,y1,x2,y2,x3,y3;
 printf("请输入三角形ABC三顶点的坐标:\n");
 printf("请输入A点坐标: ");
 scanf("%d,%d",&x1,&y1);
 printf("请输入B点坐标: ");
 scanf("%d,%d",&x2,&y2);
 printf("请输入C点坐标: ");
 scanf("%d,%d",&x3,&y3);


 a=sqrt(pow((x2-x3),2)+pow((y2-y3),2));
 b=sqrt(pow((x1-x3),2)+pow((y1-y3),2));
 c=sqrt(pow((x2-x1),2)+pow((y2-y1),2));
 printf("\n三角形三边长为:%.2f ,%.2f ,%.2f\n",a,b,c);

 max=a>b?(a>c?a:c):(b>c?b:c);
 printf("\n最长的边为:%.2f\n\n",max);
 if(a==max){
  a1=b;
  b1=c;
 }
 if(b==max){
  a1=a;
  b1=c;
 }
 if(c==max){
  a1=a;
  b1=b;
 }
 k=(pow(a1,2)+pow(b1,2)-pow(max,2))/2*a1*b1;
 if(k>0)
  printf("该三角形为锐角三角形。\n");
 else if(k==0)
  printf("该三角形为直角三角形。\n");
 else
  printf("该三角形为钝角三角形。\n");

}
运行结果:

http://s15/mw690/c9b1dcd8gdece2f78a48e&690

为了测试该程序:
找个锐角、直角三角形运行了一下

http://s5/mw690/c9b1dcd8gdece47897e44&690

http://s6/mw690/c9b1dcd8gdece4ce94b05&690

数学知识应用:

判断三角形形状关键看最大角是否大于90度,(即看cos值是否大于0),而最大边对应最大角,所以要找出最大边并求其cos值来判断。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有