题目内容:编写程序,实现A(x1,y1)和B(×2,y2)两点之间的距离D。 输入格式:1,1 2,2 输出格式:D=1.41 x1,y1,x2,y2,D均为单精度实型 用c语言编译
时间: 2025-03-16 09:06:47 浏览: 60
要用C语言编写一个计算平面上两点 A(x1, y1) 和 B(x2, y2) 之间距离 D 的程序,我们可以利用数学公式:
\[ D = \sqrt{(x2 - x1)^2 + (y2 - y1)^2} \]
以下是完整的 C 程序示例代码及其解释:
```c
#include <stdio.h>
#include <math.h> // 包含用于平方根函数 sqrt() 的头文件
int main() {
float x1, y1, x2, y2; // 定义点 A 和 B 的坐标为单精度浮点数
printf("请输入两个点的坐标格式如:x1,y1 x2,y2:\n");
if(scanf("%f,%f %f,%f", &x1, &y1, &x2, &y2) != 4){
printf("输入错误!\n");
return 1;
}
// 计算两点间的欧几里得距离
float distance = sqrt(pow((x2 - x1), 2) + pow((y2 - y1), 2));
// 打印结果保留两位小数
printf("D=%.2f\n", distance);
return 0;
}
```
### 运行步骤解析:
1. **包含必要的库**:`#include <math.h>` 提供了 `pow()` 函数和 `sqrt()` 函数。
2. **变量声明**:定义四个变量分别表示两个点的横纵坐标,并设它们的数据类型为单精度浮点型 (`float`)。
3. **用户输入读取**:通过 `scanf()` 按指定格式从标准输入流获取数据。如果输入值数目不够则提示出错信息并退出。
4. **运算核心部分**:按照上述给出的距离公式进行实际数值计算得到最终的结果存储到另一个新变量中。
5. **显示结果**:将最后得出的距离按题目所给样例的要求输出,保持两位有效数字。
例如对于测试案例"1,1 2,2",运行以上代码会打印出 "D=1.41" ,符合预期效果。
阅读全文
相关推荐



















