Qualcosa del genere:

codice:
#include<stdio.h>
#include<stdlib.h>

#define MAX 10

int main ( void )
{ 
    int i,indice;
    int differenza=0;
    int diff_minima=0;
    int vet[MAX]={46,1,21,13,24,15,7,38,9,4};
    int k=5;

    
    diff_minima = abs( vet[0]-k );       // inizializzazione
    indice=0;                                 //     variabili 
    
    for ( i=0 ; i<MAX ; i++ )
    {   
        differenza = abs( vet[i]-k );
        
        if ( differenza < diff_minima )
        {   
            diff_minima=differenza;
            indice=i;
            }
       
       }
           
     printf ("\nL'elemento piu' vicino e': %d\n\n", vet[indice] );
     system("pause");

  return 0;
}