点排程序C语言源代码

    xiaoxiao2022-07-12  141

    #include <stdio.h> #include <stdlib.h> #include <math.h> int main() {     int x,y;     int n,m;     int i=0,j=0,k=0;     int a[200]={0};     int b[100]={0};     int result;     int min=0;          scanf("%d %d",&x,&y);     scanf("%d",&n);     m=n;          while(i<n)     {         scanf("%d %d",&a[j],&a[j+1]);         j=j+2;         i++;     }          i=0;     j=0;     while(i<n)     {         result=sqrt((double)((a[j]-x)*(a[j]-x)+(a[j+1]-y)*(a[j+1]-y)));         b[k]=(int)result;         j+=2;         k++;         i++;     }

        min=0;     for(int q=0;q<n;q++)     {         for(i=1;i<n;i++)         {             if(b[i]>0)             {                 if(b[i]<b[min])                 {                     min=i;                     }                 if(b[i]=b[min])                 {                     if(a[i*2]<a[min*2])                     {                         min=i;                         }                     if(a[i*2]==a[min*2])                     {                         if(a[i*2+1]<a[min*2+1])                         {                             min=i;                             }                     }                              }             }                      }                  if(q==n-1)         {             printf("(%d,%d)",a[min*2],a[min*2+1]);         }         else         {             printf("(%d,%d), ",a[min*2],a[min*2+1]);         }                           b[min]=-1;                  min=0;                  while(b[min]<0)         {             min++;         }          }     return 0; }

                         

    最新回复(0)