描述
公交车在一条笔直的道路(道路宽度忽略,设为X轴)上行驶,按顺序路上有若干个站点(X坐标值),crq的家也在道路旁某个位置h(X坐标值),现在crq想知道哪个站点下车离家最近。
输入
输入数据的第一行为2个整数n(2<=n<=20)和h,表示站点个数以及crq家的X坐标,下一行为已经从小到大排序的n个整数,表示各个站点的X坐标。
所有坐标的绝对值不超过1000。
输出
输出一个整数,crq应该下车的站点X坐标值,如果存在多个结果,输出坐标值最小的一个。
样例输入
5 3
1 2 3 4 5
样例输出
3
AC的代码如下,路过的请多指教
#include <stdio.h>
#include <math.h>
int main()
{
int i,n,k,s=10000,m;
int a[21],b[21]={0};
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
b[i]=fabs(a[i]-m);
if(b[i]<s)
{
s=b[i];
k=i;
}
}
printf("%d\n",a[k]);
}