Blue_Zx 2024-10-18 22:51 采纳率: 68.2%
浏览 5

请问这个求自守数的代码这样写有什么问题吗,为什么无法正常运行#include <stdio.h>

请问这个求自守数的代码这样写有什么问题吗,为什么无法正常运行

img

#include <stdio.h>
#include <math.h>
double d(double x1,double y1,double x2,double y2)
{
    return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
   int n;
   scanf("%d",&n);
   double a[n][2];
   double s=0.0;
   for(int i=0;i<n;i++)
   {
       scanf("%lf %lf",&a[i][0],&a[i][1]);
   }
   if(n==1)
   {
       printf("0.00");
   }
   else if(n==2)
   {
       printf("%.2f",d(a[0][0],a[0][1],a[1][0],a[1][1]));
   }
   else
   {
       for(int i=0;i<n;i++)
       {
           int j=(i+1)%n;
           s=s+d(a[i][0],a[i][1],a[j][0],a[j][1]);
       }
       printf("%.2f",s);
   }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2024-10-18 23:47
    关注

    float对应f,double对应lf,你不能混用

    评论

报告相同问题?

问题事件

  • 创建了问题 10月18日