C语言,对数组中的元素进行分组

时间:2014-12-08 18:24:35

标签: c arrays grouping elements

我的代码对我来说太冗长,复杂和繁琐,但是假设你有这样的东西:

    #include <stdio.h>

char myArray[3000]={3,1,3,1,2,5,1,1,7,0,1,3,0,1,2,0,1,6,0,1,8,9,1,0,0,1,4,3,1,7};

假设我想创建一个新数组,它接受上面元素列表中的两个连续数字。

myArray的索引2-6包含(3,1,2,5),如何将新数组分组并将元素2-6存储为(31,25)。

我是编程的新手,我还没有找到一种有效的方法。

1 个答案:

答案 0 :(得分:3)

最简单的思考方式:

int newArray[2];
newArray[0] = myArray[2]*10 + myArray[3];
newArray[1] = myArray[4]*10 + myArray[5];

如果你想要更通用的东西......

#define NEW_ARRAY_SIZE 5
int newArray[NEW_ARRAY_SIZE];
int offset = 2;
int i = 0;
for ( i = 0; i < NEW_ARRAY_SIZE; ++i )
{
   newArray[i] = myArray[offset+2*i]*10 + myArray[offset+2*i+1];
}