Calculate coordinates of a struct with more than 2 x and y coords

I have a program where a user is asked to how many xy coordinates they want to enter. Then I would calculate the distance of the coordinates.

For example if the enter they want to put 3 coordinates I would calculate sqrt(pow(x0-x1,2) pow(x0-x2,2) pow(x1-x2) + pow(y0-y1,2) pow(y0-y2,2) pow(y1-y2)).

Calculating the distance is where I get stuck. Tried a nested loop.

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>

int numOfCoords;
struct CoordApp{
    double x;
    double y;
    char xLabel[20];
    char yLabel[20];
};

int main() 
{
    
    int i, j, k;
    char num[5];
    double minX, minY, distance, l, m;
    do
    {
      printf("How many coordinates do you want to enter? \nPlease enter more than 2 coordinates:");
      scanf("%d", &numOfCoords);
    }while(numOfCoords <= 2); //Request more than 2 coordinates
    
    struct CoordApp coords[numOfCoords]; // Assign a new struct
    
    for(i=0; i<numOfCoords; i++) // Get X and Y coordinates
    {   
        do
        {
          printf("Please enter x coordinate %d:", i);
          scanf("%lf", &coords[i].x);
          printf("Please enter y coordinate %d:", i);
          scanf("%lf", &coords[i].y); 
        }while(coords[i].x < 0 || coords[i].y < 0); // Check for positive coords
        
        strcpy(coords[i].xLabel, "XCoord");
        strcat(coords[i].xLabel, itoa(i,num,5));
        strcpy(coords[i].yLabel, "YCoord");
        strcat(coords[i].yLabel,  itoa(i,num,5));
    }
    
        for(j=0; j<numOfCoords; j++)
        {
          for(k=0; k<sizeof(coords)/sizeof(coords[j]); k++)
          {
            distance=sqrt(pow(coords[k].x-coords[j].x,2 ) + pow(coords[k].y - coords[j].y, 2)) ;
          }  
          printf("[%lf][%lf]", coords[j].x,coords[j].y);
        }
        
    
    
    return 0;
}

Thank you for helping me with this