作业帮 > 综合 > 作业

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 14:27:46
输入两点坐标(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
#include
main()
{
float x1,x2,y1,y2,result;
while(scanf("%f%f%f%f",&x1,&y1,&x2,&y2)!=EOF)
{
result= sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%.2f\n",result);
}
return 0;
}这个通过了
#include
#include
main()
{
int x1,x2,y1,y2;
double s;
while(scanf("%d %d %d %d",&x1,&y1,&x2,&y2)!=EOF)
{
s=pow(x1-x2,2)+pow(y1-y2,2);
s=sqrt(s);
printf("%.2lf\n",s);
}
return 0;
}这个output limit的.
因为你在第二次定义x1,x2,y1,y2的时候,把他们定义成了int类型了,pow 函数的输入参数为double型,它们在机器内所占据的字节数不同,做减法的时候得出的结果也不相同,从而给pow的输入参数就不一样自然会得出不同的结果来.
去看一下pow的man page和C语言变量存储类型.