您当前的位置:首页 > 互联网教程

用c语言计算两点间的距离

发布时间:2025-05-13 10:30:45    发布人:远客网络

用c语言计算两点间的距离

一、用c语言计算两点间的距离

printf("请输入x1,y1,x2,y2,用空格隔开:\n");

scanf("%f%f%f%f",&x1,&y1,&x2,&y2);

d= sqrtf((x2- x1)*(x2- x1)+(y2- y1)*(y2- y1));

printf("两点间的距离为%.2f", d);

用算术运算符将数据连接起来的式子,称为“算术表达式”。比如a+ b、10* 5等。如果表达式比较复杂的话,那么就要注意一下它的运算顺序。表达式的运算顺序是按照运算符的结合方向和优先级进行的。

算术运算符的结合方向是从左到右。例如表达式2+3+4,先计算2+3。

优先级越高,就越先进行运算,当优先级相同时,参照结合方向。下面是算术运算符的优先级排序:

负值运算符(-)>乘(*)、除(/)、模(%)运算符>加(+)、减(-)运算符

例如表达式4+5*8/-2的计算顺序为:-、*、/、+,最后的结果是-16

如果需要先计算优先级低的可以使用小括号()括住,小括号的优先级是最高的!

例如4+5*8-2默认的计算顺序是:*、+、-

如果想先执行加法运算,就可以这样写:(4+5)*8-2,最后的结果都是不一样的。

1、关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者

例如2==3>1:先算3>1,条件成立,结果为1。再计算2==1,条件不成立,结果为0。因此2==3>1的结果为0。

2、关系运算符的结合方向为“从左往右”

例如4>3>2:先算4>3,条件成立,结果为1。再与2比较,即1>2,条件不成立,结果为0。因此4>3>2的结果为0。

3、关系运算符的优先级小于算术运算符

例如3+4>8-2:先计算3+4,结果为7。再计算8-2,结果为6。最后计算7>6,条件成立,结果为1。因此3+4>8-2的结果为1。

二、求解C语言编程

已知两地的经度分别为σ1、σ2,纬度分别为φ1、φ2,求两地最近距离的公式为:

[sin(θ/2)]^2=[sin(φ1-φ2)/2]^2+[sin(σ2-σ1)/2]^2cosφ1cosφ2(2)

注:1、式中S为球面上任意两点的最短距离(球面距离);

2、θ为两点间的张角,在运用(2)式求θ时,纬度φ和经度σ本身有正负号,通常北纬正,南纬负;东经正,西经负。

3、因不会用上下标,所以式中^2指平方; cosφ1cosφ2、σ2-σ1、φ1-φ2中的1和和2为下标。

我想你的问题是不知道公式,知道公式后就是C语言做个算术题,这个不用我教了吧。