C语言全WA,求大佬出手相助!
  • 板块P5143 攀爬者
  • 楼主doggy38
  • 当前回复5
  • 已保存回复5
  • 发布时间2025/2/1 13:23
  • 上次更新2025/2/1 19:09:59
查看原帖
C语言全WA,求大佬出手相助!
302026
doggy38楼主2025/2/1 13:23
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int pnt[50010][3];
int cmp(const void *p1,const void *p2);
double e(int x1,int y1,int z1,int x2,int y2,int z2);
int main()
{
    int n;
    scanf("%d",&n);
    int i;
    for(i=1;i<=n;i++)scanf("%d%d%d",&pnt[i][0],&pnt[i][1],&pnt[i][2]);
    qsort(&pnt[1],n,3*sizeof(int),cmp);
    double sum=0;
    for(i=2;i<=n;i++)sum+=e(pnt[i-1][0],pnt[i-1][1],pnt[i-1][2],pnt[i][0],pnt[i][1],pnt[i][2]);
    printf("%.3lf",sum);
    return 0;
}
int cmp(const void *p1,const void *p2)
{
    if(*(int *)p1<*(int *)p2)return -1;
    if(*(int *)p1>*(int *)p2)return 1;
    return 0;
}
double e(int x1,int y1,int z1,int x2,int y2,int z2)
{
    double X1=x1*1.0,Y1=y1*1.0,Z1=z1*1.0,X2=x2*1.0,Y2=y2*1.0,Z2=z2*1.0;
    return sqrt((X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1)+(Z2-Z1)*(Z2-Z1));
}
2025/2/1 13:23
加载中...