/*
* 程序的版权和版本声明部分:
* Copyright (c) 2013,郑州大学SIAS国际学院
* 文件名称:
* 作 者: 王 杰
* 完成日期:2013年 10 月 31 日
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:
*/
#include<stdio.h>
#include<math.h>
int main()
{
int n;
double a1,a2,b1,b2;
double jl,t;
scanf("%d",&n);
while(n--){
scanf("%lf%lf%lf%lf",&a1,&a2,&b1,&b2);
t=(a1-b1)*(a1-b1)+(a2-b2)*(a2-b2);
jl=sqrt(t);
printf("%0.2f\n",jl);
}
return 0;
}
运行结果:
总结:把坐标位置给搞错了,而测试数据又正好没影响,坑死了。这么简单的题,想的还是有一点不到位。还有一点,很重要的:就是在数据类型这块,尤其是float,double 这块不是很清楚。
附上对比代码:
#include<stdio.h>
#include<math.h>
int main()
{
int n;
float a1,a2,b1,b2;
float jl,t;
scanf("%d",&n);
while(n--){
scanf("%f%f%f%f",&a1,&a2,&b1,&b2);
t=(a1-b1)*(a1-b1)+(a2-b2)*(a2-b2);
jl=sqrt(t);
printf("%0.2f\n",jl);
}
return 0;
}