在C中重复数组“ i”中的每个元素

时间:2018-09-30 22:31:32

标签: c arrays loops duplicates copy

这必须在C语言中完成。 我正在寻找一种采用诸如以下元素的数组的方法:

a = {1,2,3}

并给定变量,例如i,如果i = 3,则将每个元素复制到新数组中的次数为:

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];
    }
  }
}

谢谢

顺序很重要。 谢谢。

1 个答案:

答案 0 :(得分:1)

此代码应能解决问题:

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];