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

C 语言教程 · 2019-02-21 06:44:19

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

实例

#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

点击查看所有 C 语言教程 文章: https://codercto.com/courses/l/17.html

查看所有标签

算法神探

算法神探

[美] 杰瑞米·库比卡 / 啊哈磊、李嘉浩 / 电子工业出版社 / 2017-2 / 65

《算法神探:一部谷歌首席工程师写的CS小说》围绕程序设计典型算法,精心编织了一个扣人心弦又趣味横生的侦探缉凶故事。小说主人公运用高超的搜索技巧和精深的算法知识,最终识破阴谋、缉拿元凶。其间,用二分搜索搜查走私船、用搜索树跟踪间谍、用深度优先搜索逃离监狱、用优先队列开锁及用最佳优先搜索追寻线索等跌宕起伏又富含算法精要的情节,让读者在愉悦的沉浸式体验中快速提升境界,加深对程序世界的理解。《算法神探:一......一起来看看 《算法神探》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具