读书人

请教怎么把一个数组的值循环填充进另一

发布时间: 2013-04-21 21:18:07 作者: rapoo

请问如何把一个数组的值循环填充进另一个数组?这是一个算法的小问题!
有个字符数组;
char first[3];
first[0] = '0';
first[1] = '1';

first[2] = '2';

char second[20];
我想second填入后的形式如下:
second[0] = '0';second[2] = '1';
second[3] = 'x';sencond[4] = 'x';
second[5] = '2';second[6] = '0';
second[7] = 'x';sencond[8] = 'x';
second[9] = '1';sencond[10] = '2';以此类推
比较明显的效果如下
01 xx 20 xx 12 xx 01 xx………………
[解决办法]

    char first[3];
first[0] = '0';
first[1] = '1';
first[2] = '2';

char second[20];
int j = 0;
for (int i = 0; i < 20; i+=4)
{
second[i] = first[j%3];
second[i+1] = first[(j+1)%3];
second[i+2] = 'X';
second[i+3] = 'X';
j += 2;
}

// 打印出来看看
for (int i = 0; i != 20; i++)
{
printf("%c" ,second[i]);
}

直接以字符串%s显示second不可以,因为缺少结束符,尾巴会有乱码

读书人网 >C++

热点推荐