有n个互不相同的整数,存储在数组中。在这n个整数中查找m个整数,如果存在,则打印出与之相邻的整数;否则就显示无此数。
输入与输出要求:首先输入一个整数n以及n个整数(n的范围是1—1000),然后输入整数m,代表查询次数(m的范围是1—100),接着输入m个待查询的数。输出m行查询的结果,每次的查询结果中可能有一个数、两个数或没有数。若没有数则输出“NULL”。
程序运行效果:
Sample 1:
5↙
89 7890 22 56 87↙
6↙
89 7890 22 56 87 999↙
7890
89 22
7890 56
22 87
56
NULL
#include<stdio.h>
int main() {
int n,m;
scanf("%d",&n);
int a[1000]={0};
int num1,num2;
for(num1=0;num1<n;num1++){
scanf("%d",&a[num1]);
}
scanf("%d",&m);
int b[100]={0};
for(num1=0;num1<m;num1++){
scanf("%d",&b[num1]);
}
for(num1=0;num1<m;num1++){
int p=1;
for(num2=0;num2<n;num2++){
if(b[num1]==a[num2]){
if(n==1) printf("NULL\n");
else if(num2==0) printf("%d\n",a[num2+1]);
else if (num2==n-1) printf("%d\n",a[num2-1]);
else printf("%d %d\n",a[num2-1],a[num2+1]);
p=0;
break;
}
}
if(p) printf("NULL\n");
}
return 0;
}