#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double x1,y1,x2,y2;
double L;
while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF)
{
L=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("%.2f\n",L);
}
return 0;
}
之前一直出现输出超限,找过一些资料后,发现原因是x1,y1,x2,y2用的是类型,即使有中间值L也需要把x1,y1,x2,y2换成double,也可以这样写较为简单
printf("%.2f\n",sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));