即它们横坐标差的绝对值加上纵坐标差的绝对值
输入输出格式
输入格式
输入4个浮点数a,b,c,d。输入数值范围-100到100之间。
输出格式
输出一个浮点数。输出保留1位小数。
【以下回答由 GPT 生成】
问题的描述非常清晰明了,可以通过编写一个C++的程序来计算曼哈顿距离。下面是具体的解决方案:
首先,我们需要包含iostream
和cmath
头文件来使用输入输出和数学函数:
#include <iostream>
#include <cmath>
接下来,我们需要编写一个函数来计算曼哈顿距离,函数名可以为calculateManhattanDistance
,参数为两个浮点数对(a,b)
和(c,d)
:
float calculateManhattanDistance(float a, float b, float c, float d) {
return std::abs(a - c) + std::abs(b - d);
}
然后,在main()
函数中,我们先声明四个浮点数变量a
、b
、c
、d
,用于存储输入的坐标值:
float a, b, c, d;
接着,我们通过std::cout
输出提示信息,要求用户输入坐标点(a, b)
和(c, d)
:
std::cout << "请输入两个浮点数坐标点(a, b)和(c, d):" << std::endl;
然后,使用std::cin
接收用户的输入,将输入的值分别赋给a
、b
、c
、d
:
std::cin >> a >> b >> c >> d;
接下来,我们需要调用calculateManhattanDistance()
函数,将输入的坐标点作为参数传入,计算曼哈顿距离,并将计算结果保存到一个浮点数变量distance
中:
float distance = calculateManhattanDistance(a, b, c, d);
然后,我们使用std::cout
输出计算得到的曼哈顿距离,保留一位小数,并使用std::fixed
和std::setprecision(1)
控制输出格式:
std::cout << "曼哈顿距离为:" << std::fixed << std::setprecision(1) << distance << std::endl;
最后,我们在main()
函数的最后,返回一个整数值0,表示程序成功结束:
return 0;
通过以上步骤,我们就可以写出一个完整的C++程序,用于计算曼哈顿距离。下面是完整的代码:
#include <iostream>
#include <cmath>
// 计算曼哈顿距离的函数
float calculateManhattanDistance(float a, float b, float c, float d) {
return std::abs(a - c) + std::abs(b - d);
}
int main() {
float a, b, c, d;
std::cout << "请输入两个浮点数坐标点(a, b)和(c, d):" << std::endl;
std::cin >> a >> b >> c >> d;
float distance = calculateManhattanDistance(a, b, c, d);
std::cout << "曼哈顿距离为:" << std::fixed << std::setprecision(1) << distance << std::endl;
return 0;
}
通过编译和运行上述代码,就可以计算给定两个浮点数坐标点之间的曼哈顿距离,并按照要求输出保留一位小数的结果。
【相关推荐】