杭电题目2001

题目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表示实数。这些基础的东西在写代码的过程中会慢慢熟悉并掌握的。

猜你喜欢

转载自blog.csdn.net/yysave/article/details/40858897