我的代码对我来说太冗长,复杂和繁琐,但是假设你有这样的东西:
#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)。
我是编程的新手,我还没有找到一种有效的方法。
答案 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];
}