已知两个元素从小到大排列的数组x[]与y[], 请编写一个程序,算出两个数组元素彼此之间差的绝对值最小的一个数. 此值称作数组的距离.
------------------------------------------------------------------------------------
#include <stdio.h> #include <math.h>
int main() { int x[] = {1,6,8,9,15}; int y[] = {3,11,12,18}; int min = abs(x[0]-y[0]); //最短距离
int nx = sizeof(x)/sizeof(int); int ny = sizeof(y)/sizeof(int); int px = 0,py = 0; while(px<nx && py<ny) { if(x[px]<y[py]) { if(min > abs(x[px]-y[py])) min = abs(x[px]-y[py]); px++; } if(x[px]>y[py]) { if(min > abs(x[px]-y[py])) min = abs(x[px]-y[py]); py++; } if(x[px]==y[py]) { min = 0; break; } }
printf("x,y最短距离:%d\n",min);
return 0; }
|
阅读(951) | 评论(0) | 转发(0) |