热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_54787510
菜鸟一枚…
5 年前
trueweixin_54787510

C语言这个题目哪里错了呢,一直出错,求指点
#include <stdio.h>
#include <stdlib.h>

int main()
{
int n,m,low,high,target,mid;
int a[100000],i,j;
int b[10000];
float x,y;
scanf("%d",&n);
for(i=0; i<n; i++)
scanf("%d",&a[i]);
scanf("%d",&m);
low=0;
high=n-1;
for(j=0; j<m; j++)
scanf("%d",&b[j]);
for(j=0; j<m; j++)
{
target=b[j];
if((high-low)>1)
{
mid=(low+high)/2;
if(a[mid]==target)
printf("%d\n",target);
else if(a[mid]>target)
high=mid-1;
else
low=mid+1;
}
else
{
x=a[high]-target;
y=target-a[low];
if(x>=y)
printf("%d",a[low]);
else
printf("%d",a[high]);
}
}
return 0;
}

CSDN App 扫码分享
分享
2
点赞
打赏
  • 复制链接
  • 举报
下一条:
博客之星每天我有11票找个互投的或者给我投票 我给你关注
立即登录