本帖最后由 jackz007 于 2022-10-8 12:00 编辑
第 32 行有误 if (fabs((arr_m[i] - arr_n[j]) < min))
应该改为: if (fabs(arr_m[i] - arr_n[j]) < min)
楼主试试这个代码#include <stdio.h>
int main(void)
{
int d , e , i , j , m , n ;
scanf("%d%d" , & m , & n) ;
int a[m] , b[n] ;
for(i = 0 ; i < m ; i ++) scanf("%d" , & a[i]) ;
for(i = 0 ; i < n ; i ++) scanf("%d" , & b[i]) ;
for(d = (a[0] > b[0]) ? a[0] - b[0] : b[0] - a[0] , i = 0 ; i < m ; i ++) {
for(j = 0 ; j < n ; j ++) {
e = (a[i] > b[j]) ? a[i] - b[j] : b[j] - a[i] ;
if(e < d) d = e ;
}
}
printf("%d\n" , d) ;
}
|