关于C语言程序 三角形知顶点求内角

Posted

tags:

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

题目如下:编写一个C程序,输入三角形顶点坐标(直角坐标系),算出三角形各个内角,要求,输入坐标,先判断是否为三角形,然后输出结果~~

(我自己编了一下,总是死循环,折腾了几天,向各位牛人求助...)
额。有新要求...要用建立坐标系...输入点用坐标表示...还有角度要用atan()算,我偷个懒,那位大侠发个码上来哈~~

把你的代码贴上来吧,我看看能不能给你改一下!!
基本思路是使用余弦定理
cos B = (a^2 + c^2 -b^2) / (2*a*c);
首先可以算出三条边的长度,如果有两个之和等于第三个,那么就是三点共线,不是三角形。其他情况就是三角形了,调用余弦定理一个一个算就行了。
下面是代码
#include <stdio.h>
#include <math.h>
#define PI 3.14159265354
void main(void)

double a[3][2]; /*用来保存三个点的横纵坐标*/
double len[3],b[3],c[2];
int i , n;
for(i = 0 ; i< 3; i++)
scanf("%lf %lf",&a[i][0],&a[i][1]);
len[0] = sqrt( pow(a[0][0]-a[1][0],2)+pow(a[0][1]-a[1][1],2) ) ; /*AB */
len[1] = sqrt( pow(a[2][0]-a[1][0],2)+pow(a[2][1]-a[1][1],2) ) ; /*BC */
len[2] = sqrt( pow(a[0][0]-a[2][0],2)+pow(a[0][1]-a[2][1],2) ) ; /*AC */
printf("边AB = %f\t边BC = %f\t边AC = %f\n",len[0],len[1],len[2]);
b[0] = (pow(len[0],2) + pow(len[1],2) - pow(len[2],2)) / ( 2.0 *len[0]*len[1]);
if(b[0] == 0)
printf("角B = %f\n",b[0] = 90.0);
else

b[0] = atan(sqrt(1-pow(b[0],2))/b[0]);
b[0] = 180*b[0]/PI;
printf("角B = %f\n",b[0]);

b[1] = (pow(len[2],2) + pow(len[1],2) - pow(len[0],2)) / ( 2.0 *len[2]*len[1]);
if(b[1]==0)
printf("角C = %f\n",b[1] = 90.0);
else

b[1] = atan(sqrt(1-pow(b[1],2))/b[1]);
b[1] = 180*b[1]/PI;
printf("角C = %f\n",b[1]);

b[2] = 180 - b[0] - b[1];
printf("角A = %f\n",b[2]);
参考技术A 这个也可以用向量法做。
告诉了三个点(A、B、C),那么就可以得出三个向量(AB、BC、CA),
根据公式
cos<AB, BC> = ( AB • BC ) / ( |AB| • |BC| )
可以算出 角B 的外角余弦,整理一下就是:
角B = 180 - arccos[ ( AB • BC ) / ( |AB| • |BC| ) ]

其它角以此类推。arccos是数学函数库中的一个函数,需要 include <math.h>

如何用课件制作工具验证三角形内角和

三角形是一个基本几何图形,在初中阶段就会详细学习它的性质,并且会接触到各种形状的三角形,但不管三角形的形状怎么变,它的内角和始终是180°。为了给学生们验证这一定理的正确性,可以制作动态课件来进行演示,从而来验证不管三角形的形状怎么变,它的内角和始终是180°。

想要进行验证,肯定要不断变化三角形的形状,这在黑板上是无法实现的,这就需要借助专业的数学课件制作工具几何画板来完成,下面就一起来学习具体制作方法。

该软件免费获取地址:

几何画板-Windows:http://wm.makeding.com/iclk/?zoneid=17783
几何画板-Mac:http://wm.makeding.com/iclk/?zoneid=17784

具体制作步骤如下:

(一)画一个三角形

1、新建一个文件,选取“线段”工具,在工作区中画一条线段;

2、移动鼠标与线段的一个端点重合后按下,移动画出第二条边;

3、用“线段”工具在第三边的一个端点单击,松开后移动鼠标到另一端点单击;

4、用“文本”工具单击各顶点,得到如下图所示的△ABC。

 
技术分享图片
 图1:绘制△ABC

几何画板中除了画出任意形状的三角形,也可以画特殊的,比如等腰直角三角形,具体可参考:几何画板如何绘制等腰直角三角形

(二)度量三个角的度数

1、点工具箱中的“选择”工具;

2、依次单击点A、B、C,这就选中了∠ABC,(注意角的顶点选在中间);

3、单击菜单“度量”——“角度”,量出∠ABC 的度数,(注意:格式和常用的有点不一样);

4、用同样的方法量出∠BCA、∠CAB的度数。

技术分享图片
 
图2:度量角的度数

(三)使用计算器求内角和

1、单击菜单“数据”——“计算?”,调出计算器;

2、依次点击“m∠ABC=?”、“计算器的+号”、“m∠BCA=?”、“+”、“m∠CAB=?”,最后单击“确定”;

注意:点确定前计算器应如下图所示。

技术分享图片
 
图3:使度数相加

3、最后得如图4-1.4 所示,可以用“选择”工具拖动三角形的顶点,动态演示内 角和总为180°。

技术分享图片
 
图4:改变三角形形状验证内角和

按照上面的步骤操作后,就学会了利用几何画板验证三角形内角和的方法,通过度量出三角形每个角的度数,然后进行相加,从而得到内角和。然后改变三角形的形状,就可以进行验证该内角和定理。更是教学课件模板免费下载尽在几何画板中文官网。
以上教程参考自:http://www.jihehuaban.com.cn/xinshourumen/yanzheng-neijiaohe.html







以上是关于关于C语言程序 三角形知顶点求内角的主要内容,如果未能解决你的问题,请参考以下文章

求一个C语言算法:已知三角形的三个顶点的坐标,求三角形面积

C语言中,根据用户输入的三个顶点坐标计算三角形的面积。急求:点的坐标如何表示?!

已知任意一个多边形的各个顶点的坐标,怎么去求该多边形的面积?(写下代码和思想--C语言)

三角形问题~(超级闯关!能答就答)

c语言 请编写程序让用户输入凸五边形的五个顶点坐标,计算出该凸五边形的面积

C#编程 已知三个点求组成三角形的周长和面积