从数列中抽取与某一数值(num)最接近的若干个数(n)

来源:互联网 发布:js get请求 编辑:程序博客网 时间:2024/05/22 03:19

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arraya = new int[8] {50,67,73,58,73,44,102,70};//原始数列
            int[] arrayb = new int[8];
            int num=70,n=4;    //num:要比较的数,n:要取得的个数                                    
            for (int i = 0; i <= arraya.Length - 1; i++)
            {
                if (arraya[i] >= num)
                    arrayb[i] = arraya[i] - num;
                else
                    arrayb[i] = num - arraya[i];
            }
            Array.Sort(arrayb);
            for (int i = 0; i < arraya.Length; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    if (arraya[i] - num == arrayb[j] || num - arraya[i] == arrayb[j])
                    {
                        Console.Write(arraya[i] + " ");
                        break;
                    }
                }
            }
            Console.ReadKey();
        }
    }
}
 

原创粉丝点击