昨天晚上睡得晚……
今天快中午才起来,学了会微分方程,又找了道水题做。
题目
Problem-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
AC的代码
#include<stdio.h>
#include<math.h>
int main(void)
{
float x1,y1,x2,y2,length;
while(scanf("%f %f %f %f",&x1,&y1,&x2,&y2)==4){
length=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("%.2f\n",length);
}
return 0;
}
好像没什么难点吧?10秒看题,4分18秒敲代码,一次通过。
sqrt()函数原型为double,赋值给float型的length变量……
要求保留两位小数,好像不会影响精度吧?
2019年1月21日14点13分