題目描述
已知元素從小到大排列的兩個數組x[]和y[], 請寫出一個程序算出兩個數組彼此之間差的絕對值中最小的一個,這叫做數組的距離 。
輸入:第一行為兩個整數m, n(1≤m, n≤1000),分別代表數組f[], g[]的長度。
第二行有m個元素,為數組f[]。
第三行有n個元素,為數組g[]。
輸出:數組的最短距離。
樣例輸入?Copy
5 5 1 2 3 4 5 6 7 8 9 10
樣例輸出?Copy1
?程序代碼
#include<stdio.h>
#include<limits.h>
#include<math.h>
int main(){int m,n;scanf("%d%d",&m,&n);//輸入兩個數組的長度int f[m],g[n];for(int i=0;i<m;i++)scanf("%d",&f[i]);for(int i=0;i<n;i++)scanf("%d",&g[i]);//讀入數組元素int min=INT_MAX;for(int i=0;i<m;i++){//找出數組彼此之間差的最小絕對值for(int j=0;j<n;j++){int x=abs(f[i]-g[j]);if(min>x)min=x;}}printf("%d",min);//輸出最小值return 0;
}