中易网

两数组差的最小值

答案:3  悬赏:10  
解决时间 2021-04-08 05:23
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 <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>

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;
}
全部回答
public int getmax(int[] args){ int max = 0; //设定一个数,用于存放最大值 for(int i=0;i args[i] ? max : args[i]; } //返回获得的最大值 return max; }
int m,n,g[1000],f[1000]; int i,j,c; int min = 10000; scanf("%d %d",&m,&n); for ( i=0;i<m;i++) scanf("%d",&(f[i])); for( j=0;j<n;j++) scanf("%d",&(g[j])); //先拿最大的减最小的 for(int a =0;a<i;a++) for(int b=0;b<j;b++) {c=(f[a]-g[b]>=0?f[a]-g[b]:g[b]-f[a]); if(c<min)min=c;} printf("距离是 %d",min); return 0;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
crt支持哪些脚本
梅雨潭中的动词 踞、浮、游表达出了?
建筑图纸上jz-d什么意思
怎样证明圆心与园的切点的连线是垂直与该切线
老重庆酒吧怎么去啊,有知道地址的么
龙虾夹着金鱼的尾巴不放
你好,我是一名文科毕业生高考考了450分,我
UDP是什么意思?ICMP是什么意思?IGMP又是什么
法国代购kenzo虎头t恤在多少钱
为什么我的电脑连不上网?显示IP地址不正确,
黄骅市津华钢窗厂在哪里啊,我有事要去这个地
马兰花首映礼上,黎明和两个小孩子只是温馨啊
msp430f149和f169有什么区别吗
梦幻西游玩血地府好不好玩?
应用程序无法正常启动 0xc000007b,求帮
推荐资讯
类似吞噬星空之类的小说
There is nobody who can take you away from
已知根号8的整数部分是a,则a的平方加的平方
kettle怎么去除数据库中重复数据
深圳比亚迪的招牌地点在那里啊?
python中的 注释 为什么我这样输出,就会出现
植物油鲜花饼我是回民不能吃猪油
我家电脑里所以文件打开方式都变成了用java(
沃特这个地址在什么地方,我要处理点事
A,B,C中至少有一个发生用集合表示
苹果6序列号: F78P7LTNG5MP 是不是翻新机
福特金融客贷款逾期,已被起诉,
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?