题目

  1. 题目
    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
题目链接

代码

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main ()
 4 {
 5     double x1,x2,y1,y2,distance;
 6     while(~scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2))
 7     {
 8         distance=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
 9         printf("%.2lf\n",distance); 
10     }
11     return 0;
12 } 
View Code

 

个人见解

1.首先定义double型,因为坐标可以含小数
2.然后在头文件定义一个数学函数库,定义之后便可以使用一系列的数学函数,(.h结尾一般称为头文件)
3.最后是小数点的问题,double在不做任何强调之下默认小数点后6位,题目中强调保留2位小数,只需%.2f 即可;
附加:%m.nf
m:指的是包括小数点在内字符的宽度;
n:表示后面小数点的位数;
举例:
printf(“%4.2f”, 2.8 ); //答案 2.80
printf(“%4.2f”, 8.916 );答案8.92

不足位数右对齐,左补空格