困惑的程序

来源:互联网 发布:多益网络前端待遇 编辑:程序博客网 时间:2024/05/01 11:54
已知两个元素从小到大排列的数组x[]与y[],请编写一个程序算出两个数组元素彼此之间差的绝对值中最小的一个数,此值称为数组的距离。
#include<stdio.h>
#include<limits.h>
#define min(x,y) ((x)<(y) ? (x):(y))
int min_distance(int x[], int y[], int m, int n)
{
 int minimum=INT_MAX;
 int index_x=0,index_y=0;
 while(index_x<m && index_y<n)
  if(x[index_x]>=y[index_y])
  {
   minimum=min(minimum,x[index_x]-y[index_y]);
   index_y++;
  }
  else
  {
   minimum=min(minimum,y[index_y]-x[index_x]);
   index_x++;
  }
  return minimum;
}
void main()
{
 int x[]={1,2,5,7,9}, y[]={2,6,8};
 int m=5,n=3;
 int count;
 count=min_distance(x,y,m,n);
 printf("%d",count);
}
不知道错哪儿了!