经常会遇到判断相邻几个数之间的关系,那么怎么找出相邻的几个数呢?
对于序列: {1, 2, 3, 4, 5, 6} 找出相邻3个数构成的组合
int seq[10] = {1, 2, 3, 4, 5, 6};
int length = 6;//序列长度
int num = 3;//遍历区间长度
if (length >= num)
for (int i = 0; i < length; i++) {
int one = i;
int two = (i + 1) % length;
int three = (i + 2) % length;
printf("%d %d %d \n", seq[one], seq[two],seq[three]);
}
如果想找出相邻四个数的组合呢?很简单,只需要将遍历区间长度改为4。
int seq[10] = {1, 2, 3, 4, 5, 6};
int length = 6;//序列长度
int num = 4;//遍历区间长度
if (length >= num)
for (int i = 0; i < length; i++) {
int one = i;
int two = (i + 1) % length;
int three = (i + 2) % length;
int four = (i + 3) % length;
printf("%d %d %d %d\n", seq[one], seq[two] ,seq[three] ,seq[four] );
}