早教吧 育儿知识 作业答案 考试题库 百科 知识分享

两数组差的最小值Description已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离.Input第一行为两个整数m,n(1≤m,n≤1000)

题目详情
两数组差的最小值
Description
已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离.
Input
第一行为两个整数m,n(1≤m,n≤1000),分别代表数组f[],g[]的长度.
第二行有m个元素,为数组f[].
第三行有n个元素,为数组g[].
Output
数组的最短距离
Sample Input
5 5
1 2 3 4 5
6 7 8 9 10
Sample Output
1
▼优质解答
答案和解析
#include
#include
#include
#include
int main()
{
int f[1000], g[1000];
int m, n, d = INT_MAX;
int i, j, t;

scanf("%d %d", &m, &n);
for (i = 0; i < m; ++i)
scanf("%d", &f[i]);
for (i = 0; i < n; ++i)
scanf("%d", &g[i]);
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
t = abs(f[i] - g[j]);
if (t < d)
d = t;
}
}
printf("%d\n", d);
return 0;
}