0-103个数, 平均放入5个数组,求代码。谢谢

解决方案 »

  1.   


               int[] num = new int[104];
                for (int i = 0; i < 104; i++)
                {
                    num[i] = i;
                }
                int residue = 104 / 5;
                int mod = 104 % 5;
                //可以用一个二维数据 
                int[][] array = new int[5][];
                for (int i = 0; i < array.Length; i++)
                {
                    array[i] = new int[residue + 1];
                }
                int k = 0;
                for (int i = 0; i < residue; i++)
                {
                    for (int j = 0; j < array.Length; j++)
                    {
                        array[j][i] = num[k];
                        k++;
                    }
                }
                for (int i = 0; i < mod; i++)
                {
                    array[i][i] = num[k + i];
                }
      

  2.   


    Enumerable.Range(0, 104).GroupBy(i => i % 5).ToList().ForEach(g =>
        {
            g.ToList().ForEach(i => Console.Write(i.ToString() + "\t"));
            Console.WriteLine();
        });
      

  3.   

    晕乎,这样的题目没啥意义啊。直接手算就成了如果非要写代码,那就报数呗 5个数一轮 ,喊一的站一块,喊二的站一块 ---------取模知道不这题目让想起N年前,我毕业那阵一个缺心眼的面试官出的题目小学3年题目:
    鸡鸭同笼------我一个二级嵌套循环写完----他把我pass了
    他说循环效率很低啊
    我说:一共就100只,还换啥效率啊,我用循环就是在体现计算在这种单纯运算上比人强
    他说:你就不能把方程式列出来,然后求解
    我说:这样的题目把方程式一列,就直接求解了,你不会让我直接print x y吧
    他说:恩就是这样地,我想考你会不解这个方程式我晕--------他当我是文盲,小学3年题目都不会
      

  4.   

    int[][] result = (from s in Enumerable.Range(0, 104).GroupBy(i => i % 5).ToList() select s.ToArray()).ToArray();
      

  5.   

    int[] c = Enumerable.Range(0, 104).GroupBy(i => i % 5).ToArray();
    生成一维数组
      

  6.   

    当然没这么简单了,我用这个来管理线程分配,想找个好点的办法,比如代码简单易读之类如果是管理线程分配就一个 list<Action<T>> 就成了
    外面给个全局变量直接累加,然后取模,根据模值 获取list<Action<T>>对应的那个委托处理过程去处理