一、题目链接
http://noi.openjudge.cn/ch0103/16/
二、解题思路(Java)
◎ 利用两点间的欧氏距离公式可以计算线段长度;
◎ Java中,Math.sqrt方法计算一个数的开平方数,称为开根操作,计算结果是浮点数,例如:
→ Math.sqrt(4)返回值为2.0;
→ Math.sqrt(1.44)返回值为1.2;
◎ 输入两个端点的横坐标和纵坐标,通过欧氏距离公式和Math.sqrt方法计算线段长度。
三、实施步骤(Java)
◎ 首先,定义并输入四个double类型的浮点数xa、ya、xb、yb,分别代表A点的横坐标、纵坐标、B点的横坐标、纵坐标;
◎ 其次,定义double类型的浮点数ans,代表A点到B点线段的长度,令ans=Math.sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya - yb));
◎ 最后,通过格式化输出语句printf配合"%.3f"标记,输出ans。
四、解题思路(C++)
◎ 利用两点间的欧氏距离公式可以计算线段长度;
◎ C++的cmath库提供sqrt函数计算一个数的开平方数,称为开根操作,例如:
→ sqrt(4)返回值为2;
→ sqrt(1.44)返回值为1.2;
◎ 输入两个端点的横坐标和纵坐标,通过欧氏距离公式和sqrt函数计算线段长度。
五、实施步骤(C++)
◎ 首先,定义并输入四个double类型的浮点数xa、ya、xb、yb,分别代表A点的横坐标、纵坐标、B点的横坐标、纵坐标;
◎ 其次,定义double类型的浮点数ans,代表A点到B点线段的长度,令ans=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya - yb));
◎ 最后,通过格式化输出语句printf配合"%.3f"标记,输出ans。
六、Java程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double xa = input.nextDouble();
double ya = input.nextDouble();
double xb = input.nextDouble();
double yb = input.nextDouble();
double ans = Math.sqrt((xa - xb) * (xa - xb) + (ya - yb) * (ya - yb));
System.out.printf("%.3f", ans);
}
}
七、C++程序
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double xa;
double ya;
double xb;
double yb;
cin >> xa;
cin >> ya;
cin >> xb;
cin >> yb;
double ans = sqrt((xa - xb) * (xa - xb) + (ya - yb) * (ya - yb));
printf("%.3f", ans);
return 0;
}