#include <bits/stdc++.h>
using namespace std;
struct poi//poi代表point,点
{
int x,y,z;//坐标
};
int main()
{
int n;//点的个数
double sum=0;//攀爬距离的和
cin>>n;//输入个数
struct poi a[n+1];//定义n+1个点,下标从1开始
for (int i=1; i<=n; i++)
{
cin>>a[i].x>>a[i].y>>a[i].z;//读入点的坐标
}
for (int i=1; i<n-1; i++)
{
for (int j=1; j<=n-i; j++)
{
if (a[j].z>a[j+1].z)
{
swap(a[j],a[j+1]);
}
}
}//冒泡
for(int i=2;i<=n;i++)
sum+=sqrt((a[i-1].x-a[i].x)*(a[i-1].x-a[i].x)+(a[i-1].y-a[i].y)*(a[i-1].y-a[i].y)+(a[i-1].z-a[i].z)*(a[i-1].z-a[i].z));//从第二座山开始,计算sum
printf("%.3lf",sum);//输出,保留三位小数
return 0;
}
这个代码最后三个点T了。。。
结构体能sort吗? 好像不行