日期:2014-05-17  浏览次数:20516 次

谁能解开这个循环?
有一个需要循环20次的循环,有两个数组arr1[1,2,5,8……]和arr2[a,b,c,d……]这两个数组里面元素的个数是一样的,但这两个数组里面的元素的数量是不定的,我假设为N个或者arr1.Length个,我现在想每次循环都要把arr1里面的值赋值给arr2,即a=1,b=3,c=5,d=8……这个数组的元素个数为N请问这个循环的算法应该如何做? 
如果写死了可以这样写:
 for (int i = 0; i < 20; i++)
  {
  int[] a = { 1, 2, 6, 4 };
  int num1, num2, num3, num4;

  for (int j = 0; j < a.Length; j++)
  {
  arr2[0]= arr1[0];
  arr2[1]= arr1[1];
  arr2[2]= arr1[2];
  arr2[3]= arr1[3];
……
  }
  }
但假如有1000000个不可能这么写,我现在想只要给出这个数组的数量就自动赋值。

------解决方案--------------------
for (int j = 0; j < a.Length; j++)
{
arr2[j]= arr1[j];
}

------解决方案--------------------
,我假设为N个或者arr1.Length个,我现在想每次循环都要把arr1里面的值赋值给arr2,即a=1,b=3,c=5,d=8……这个数组的元素个数为N请问这个循环的算法应该如何做
简单 如下:
 for (int j = 0; j < arr2.Length; j++)
{
arr2[j]=arr2[j]+arr1[j];(注:这种 是2个变量都是string类型才能用+号拼接在一起,从而达到你要的效果)

}
------解决方案--------------------
C# code

string str = "";
int leng = 0;
            if (arr1.Length > arr2.Length)
                leng = arr1.Length - (arr1.Length - arr2.Length);
            else
                leng = arr2.Length - (arr2.Length - arr1.Length);
            str = new string[leng];
            for (int i = 0; i < leng; i++)
            {
                //左右赋值这样写
                arr1[i] = arr2[i];
                //拼接这样写
                str = arr1[i].ToString() + arr2[i].ToString();
            }