计算两点间的距离
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
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float GetDistance(float x1, float y1, float x2, float y2){
float i,j;
float d = 0;
// d = sqrt{(x1-x2)^2 + (y1-y2)^2}
i = i = x1 - x2;
i = fabs(i);
j = y1 - y2;
j = fabs(j);
d = sqrt((i*i) + (j*j));
return d;
}
int main(int argc, char *argv[]) {
float x1, x2, y1, y2;
while(scanf("%f %f %f %f", &x1, &y1, &x2, &y2) != EOF){
getchar(); // 消除键盘输入缓冲
printf("%0.2f\n",GetDistance(x1,y1,x2,y2));
}
return 0;
}
关于pirintf输出格式问题
待补充