首页 > 解决方案 > 在C中重复数组“i”中的每个元素

问题描述

这必须在 C 中完成。我正在寻找一种方法来获取包含以下元素的数组:

a = {1,2,3}

并给定一个变量,例如 i,如果 i = 3,每个元素复制到一个新数组 i 次,如下所示:

b = {1,1,1,2,2,2,3,3,3,}

这就是我到目前为止所拥有的:

for(i = 0; i < size_S-inter_seq; i++) //size of new array - times copied
{
  for(j = 0; j < size_X; j++)  //size of old array
  {
    for(k = 0; k < inter_seq; k++) //times to be copied
    {
      b[i+k] = a[j];
    }
  }
}

谢谢

顺序确实很重要。谢谢。

标签: carraysloopsduplicatescopy

解决方案


这段代码应该可以解决问题:

int a[] = {1,2,3};
int i = 3;
int len = (sizeof a)/(sizeof a[0]);
int b[i*len];
for(int k=0; k<len; k++)
    for(int j=0; j<i; j++)  
        b[k*i + j] = a[k];

推荐阅读