#include <stdio.h>
int main()
{
int min=(1<<31)-1;
int idx=0;
int arr[]={915,941,960,976,992,1015,1034,1050,1073,1089,1115,1131,1150,1166,1182,1208,1227};
int n=1000;
for(int i=0;i<sizeof(arr)/sizeof(int);i++)
{
int diff=arr[i]-n;
if(diff<0)
diff=-diff;
if(diff<min)
{
min=diff;
idx=i;
}
}
printf("最接近的是%d,下标是%d",arr[idx],idx);
return 0;
#include <stdio.h>
int main()
{
int min=(1<<31)-1;
int idx=0,arr[100],m,n;
printf("请输入数组元素个数: ");
scanf("%d",&m);
printf("请输入数组元素: ");
for(int j=0;j<m;j++)
{
scanf("%d",&arr[j]);
}
printf("请输入目标值: ");
scanf("%d",&n);
for(int i=0;i<m;i++)
{
int diff=arr[i]-n;
if(diff<0)
diff=-diff;
if(diff<min)
{
min=diff;
idx=i;
}
}
printf("最接近的是%d,下标是%d",arr[idx],idx);
return 0;
}
