0
点赞
收藏
分享

微信扫一扫

#c语言 找出与目标值最接近的元素#

残北 2022-02-07 阅读 55
#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;
}

举报

相关推荐

0 条评论