计算两点间的距离
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"math.h"
#define Max 100
double distance(float x1,float y1,float x2,float y2);
void main()
{
float x1[Max],y1[Max],x2[Max],y2[Max];
double dist[Max];
int n=0,m=0;
printf("输入你要输入的数据组数n=");
scanf("%d",&n);
printf("Input:\n");
for(m=0;m<n;m++)
{
scanf("%f %f %f %f",&x1[m],&y1[m],&x2[m],&y2[m]);
dist[m]=distance(x1[m],y1[m],x2[m],y2[m]);
}
printf("Output:\n");
for(m=0;m<n;m++)
printf("%.2f\n",dist[m]);
}
//函数distance用来求两点间的距离
double distance(float x1,float y1,float x2,float y2)
{
float tempx=0,tempy=0;
double dist;
if(x2>x1)tempx=x2-x1;
else tempx=x1-x2;
if(y2>y1)tempy=y2-y1;
else tempy=y1-y2;
dist=sqrt(pow(tempx,2)+pow(tempy,2));
return dist;
}。