#include<bits/stdc++.h> using namespace std; double pf(double x1,double x2,double y1,double y2) { return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } int main() { double x1,y1,x2,y2,x3,y3,c; scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3); c=pf(x1,x2,y1,y2)+pf(x1,x3,y1,y3)+pf(x2,y3,x2,y3); printf("%.2f",c); }有什么问题
时间: 2023-08-17 09:04:01 浏览: 38
在计算 `c` 的时候,最后一个求距离的函数中的参数有误,应该是 `(x2,y2,x3,y3)`,而不是 `(x2,y3,x2,y3)`。修改后的代码如下:
```c++
#include<bits/stdc++.h>
using namespace std;
double pf(double x1, double x2, double y1, double y2) {
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main() {
double x1, y1, x2, y2, x3, y3, c;
scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3);
c = pf(x1, x2, y1, y2) + pf(x1, x3, y1, y3) + pf(x2, x3, y2, y3);
printf("%.2f", c);
}
```
此外,建议添加输入数据的合法性检查,比如输入的三个点是否在同一条直线上等。
相关问题
#include <bits/stdc++.h> using namespace std
这段代码是一个C++的头文件引用和命名空间的使用示例。具体来说,`#include <bits/stdc++.h>`是一个常用的头文件引用方式,它包含了C++标准库中的所有头文件。而`using namespace std`则是为了使用`std`命名空间中的标准库函数和对象,这样就可以直接使用`cout`、`cin`等标准输入输出流对象,而不需要写`std::cout`、`std::cin`。
这种写法虽然方便,但也存在一些问题。首先,包含了所有的标准库头文件可能会导致编译时间变长。其次,使用了`using namespace std`会将整个`std`命名空间中的所有标识符引入当前作用域,可能会导致命名冲突。因此,在实际开发中,建议根据需要只包含需要的头文件,并使用具体的命名空间来避免潜在的问题。
#include <bits/stdc++.h> using namespace std;
这个头文件是C++11标准引入的,它包含了所有标准库中的头文件。使用这个头文件可以方便地在一个地方包含所有需要的头文件,而不需要一个一个地包含。这个头文件通常只在竞赛中使用,因为它不是标准C++头文件,不保证在所有编译器中都能正常工作。
以下是一个使用这个头文件的示例,实现输入4个整数a、b、c、d,将它们倒序输出:
```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << d << ' ' << c << ' ' << b << ' ' << a << endl;
return 0;
}
```