杭电oj2007c语言答案,杭电oj2001-C语言

题目

题目

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

代码

#include

#include

int main ()

{

double x1,x2,y1,y2,distance;

while(~scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2))

{

distance=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));

printf("%.2lf\n",distance);

}

return ;

}

个人见解

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

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

你可能感兴趣的:(杭电oj2007c语言答案)