数组合并:C 语言实例-数组拆分与合并

 2021-06-25 17:36    77  

将一个数组拆分为两个数组数组合并,一个为奇数数组,一个为偶数数组:

实例

#include <stdio.h>

int main() {

int array[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

int even[10], odd[10];

int loop, e, d;

e = d = 0;

for(loop = 0; loop < 10; loop++) {

if(array[loop]%2 == 0) {

even[e] = array[loop];

e++;

}else {

odd[d] = array[loop];

d++;

}

}

printf(" 原始数组 -> ");

for(loop = 0; loop < 10; loop++)

printf(" %d", array[loop]);

printf("\n 偶数 -> ");

for(loop = 0; loop < e; loop++)

printf(" %d", even[loop]);

printf("\n 奇数 -> ");

for(loop = 0; loop < d; loop++)

printf(" %d", odd[loop]);

return 0;

}

输出结果为数组合并:

原始数组 -> 0 1 2 3 4 5 6 7 8 9 偶数 -> 0 2 4 6 8 奇数 -> 1 3 5 7 9将奇数数组与偶数数组合并为一个数组数组合并:

实例

#include <stdio.h>

int main() {

int array[10];

int even[5] = {0, 2, 4, 6, 8};

int odd[5] = {1, 3, 5, 7, 9};

int loop, index, e_len, o_len;

e_len = o_len = 5;

index = 0;

for(loop = 0; loop < e_len; loop++) {

array[index] = even[loop];

index++;

}

for(loop = 0; loop < o_len; loop++) {

array[index] = odd[loop];

index++;

}

printf("\n偶数 -> ");

for(loop = 0; loop < e_len; loop++)

printf(" %d", even[loop]);

printf("\n奇数 -> ");

for(loop = 0; loop < o_len; loop++)

printf(" %d", odd[loop]);

printf("\n合并后 -> ");

for(loop = 0; loop < 10; loop++)

printf(" %d", array[loop]);

return 0;

}

输出结果为:

偶数 -> 0 2 4 6 8奇数 -> 1 3 5 7 9合并后 -> 0 2 4 6 8 1 3 5 7 9

多维数组在Java里如何创建多维数组?

  //: MultiDimArray。java// Creating multidimensional arrays。import java。util。*;public class MultiDimArray { static Random rand = new Random(); static int pRand(int mod) { return Math。
  abs(rand。nextInt()) % mod + 1; } public static void main(String[] args) { int[][] a1 = { { 1, 2, 3, }, { 4, 5, 6, }, }; for(int i = 0; i 用于打印的代码里使用了length,所以它不必依赖固定的数组大小。
  第一个例子展示了基本数据类型的一个多维数组。我们可用花括号定出数组内每个矢量的边界:int[][] a1 = {{ 1, 2, 3, },{ 4, 5, 6, },};每个方括号对都将我们移至数组的下一级。第二个例子展示了用new分配的一个三维数组。
  在这里,整个数组都是立即分配的:int[][][] a2 = new int[2][2][4];但第三个例子却向大家揭示出构成矩阵的每个矢量都可以有任意的长度: int[][][] a3 = new int[pRand

(7)][][]; for(int i = 0; i 对于第一个new创建的数组,它的第一个元素的长度是随机的,其他元素的长度则没有定义。
  for循环内的第二个new则会填写元素,但保持第三个索引的未定状态——直到碰到第三个new。根据输出结果,大家可以看到:假若没有明确指定初始化值,数组值就会自动初始化成零。可用类似的表式处理非基本类型对象的数组。
  这从第四个例子可以看出,它向我们演示了用花括号收集多个new表达式的能力: Integer[][] a4 = { { new Integer

(1), new Integer

(2)}, { new Integer

(3), new Integer

(4)}, { new Integer

(5), new Integer

(6)}, };第五个例子展示了如何逐渐构建非基本类型的对象数组: Integer[][] a5; a5 = new Integer[3][]; for(int i = 0; i i*j只是在Integer里置了一个有趣的值。

本文标签:数组创建多维

原文链接:https://www.xgfox.com/kfbc/10.html

本文版权:如无特别标注,本站文章均为原创。