题目2001
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>
int main()
{
double s[5];
while(scanf("%lf%lf%lf%lf",&s[0],&s[1],&s[2],&s[3])!=EOF)
{
double x1=s[0],y1=s[1],x2=s[2],y2=s[3];
double m,n;
m=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
n=sqrt(m);
printf("%.2lf\n",n);
}
}
分析:本题用到数学函数sqrt,开方。头文件写一个数学函数。
其次就是两点间的坐标方程公式要注意,不要写错了,还有那个乘法的*号一定不能省略。
输出的时候,因为结果要保留两位小数,用scanf比较好,直接输出实数"%.2lf"。那个.代表着小数,2表示小数的长度。lf表示实数。这些基础的东西在写代码的过程中会慢慢熟悉并掌握的。