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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用c语言计算两点间的距离相关的知识,希望对你有一定的参考价值。

Problem Description
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

Input
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

Output
对于每组输入数据,输出一行,结果保留两位小数。

#include<stdio.h>
#include<math.h>
void main()
int X1,X2,Y1,Y2;
double d;
printf("%d %d %d %d\n",X1,Y1,X2,Y2);
while(scanf("%d %d %d %d\n",&X1,&Y1,&X2,&Y2)!=EOF)
while(1)
d=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));
printf("%.2f\n",d);

不行啊。http://acm.hdu.edu.cn/showproblem.php?pid=2001根本就不能上交……

#include <math.h>

#include <stdio.h>

void main()

float x1, y1, x2, y2;

float d;

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);

扩展资料:

c语言的基本运算的注意事项

一、运算顺序

1、算术表达式

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

2、结合方向

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

3、 优先级

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

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

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

4、小括号

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

例如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。

参考技术A #include<stdio.h>
#include<math.h>
void main()
double X1,X2,Y1,Y2;//这里要为double型
double d;
while(scanf("%lf%lf%lf%lf",&X1,&Y1,&X2,&Y2)!=EOF)
d=sqrt((double)((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)));
printf("%.2lf\n",d);

//这样行了,多点练习就会熟悉了
//A过了本回答被提问者采纳
参考技术B #include
int
main()

float
x1,y1,x2,y2;
float
len;
printf("please
input
x1,y1;x2,y2:");
scanf("%f,%f,%f,%f",&x1,y1,x2,y2);
len=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
len=sqrt(len);
printf("两点间的距离为:
%f",len);
return
0;
参考技术C include<stdio.h>
#include<stdlib.h>
int main()

double x1,x2,y1,y2,d;
while(scanf("%lf %lf %lf",&x1,&x
2,&y1,&y2)!=EOF)

d=(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
d=pow(d,0.5);

return 0;

计算两点间的距离

计算两点间的距离

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 208295    Accepted Submission(s): 72641


Problem Description
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
 

 

Input
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
 

 

Output
对于每组输入数据,输出一行,结果保留两位小数。
 

 

Sample Input
0 0 0 1 0 1 1 0
 

 

Sample Output
1.00 1.41
 

 

Author
lcy
 

 

Source
 

 

Recommend
JGShining   |   We have carefully selected several similar problems for you:  2003 2002 2004 2000 2005 
 
1 #include<stdio.h>
2 #include<math.h>
3 int main(){
4     double x1,y1,x2,y2;
5     while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF){
6         printf("%.2lf\n",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
7     }
8     return 0;
9 }

 

以上是关于用c语言计算两点间的距离的主要内容,如果未能解决你的问题,请参考以下文章

如何用C语言计算两点之间距离

用C语言和分治算法 求最近的两点的距离~

计算两点间的距离(hdu2001)

用java语言编写输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

ZZNUOJ_C语言1084:计算两点间的距离(多实例测试)(完整代码)

C语言求出平面坐标系中任意两点间的距离.点的信息(x坐标值,y坐标值,全为整数)通