当前位置:首页 » 编程语言 » c语言求两点之间的距离

c语言求两点之间的距离

发布时间: 2025-07-19 23:07:04

Ⅰ 简单c语言编程

如果要考虑4个象限,考虑各种x3y3x4y4, 比较麻烦。
大致思路,计算b点到线L1的距离,计算c点到线L1的距离,
用ang3,ang4 与 ang 的相对位置判断 l1 和 l2 应当相加还是相减得 总距离。
程序如下(没考虑4个象限):
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

void main()
{
double r1,r2;
double R=5.0, ang=1.05;
double Bx,By,P1x,P1y,P2x,P2y,l1,l2,L;
double x3=1,y3=3,x4=8,y4=10;
double ang3,ang4;

ang3 = atan(y3/x3);
ang4 = atan(y4/x4);
printf("input angle in deg: \n");
scanf("%lf",&ang);
ang = ang / 180.0 * 3.14159265;
Bx = R * cos(ang);
By = R * sin(ang);
r1 =( (x3*Bx)+(y3*By)) / (R*R);
P1x = r1 * Bx;
P1y = r1 * By;
l1 = sqrt( (x3-P1x)*(x3-P1x) + (y3-P1y)*(y3-P1y) );
r2 =( (x4*Bx)+(y4*By)) / (R*R);
P2x = r2 * Bx;
P2y = r2 * By;
l2 = sqrt( (x4-P2x)*(x4-P2x) + (y4-P2y)*(y4-P2y) );
if ( (ang3 >= ang) && (ang4 <= ang) ) L= fabs(l2 + l1);
else L = fabs(l2-l1);
printf("distance: %.2lf ",L);
}

热点内容
sql1032n 发布:2025-07-20 03:46:33 浏览:453
手机asp源码 发布:2025-07-20 03:45:51 浏览:699
34在c语言中 发布:2025-07-20 03:41:32 浏览:658
如何不用密码登出appleid 发布:2025-07-20 03:40:13 浏览:936
Xp怎么查看登录密码 发布:2025-07-20 03:27:22 浏览:548
568电脑服务器是什么 发布:2025-07-20 03:22:08 浏览:771
java从数据库读取时间 发布:2025-07-20 03:12:53 浏览:559
如何申请验证账号和密码 发布:2025-07-20 03:10:16 浏览:854
密码怎么治 发布:2025-07-20 03:08:01 浏览:633
怎么取消windows10密码登陆 发布:2025-07-20 02:58:41 浏览:946