使用函数,调整数组使奇数全部都位于偶数前面
来源:互联网 发布:淘宝买裤子的店铺 编辑:程序博客网 时间:2024/05/17 20:29
输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分
下列代码为无函数调用时的代码
#include<stdio.h>#include<windows.h>int main(){int a[] = { 0, 1, 2, 3, 4, 9, 0, 2, 3, 1, 4 };int len = sizeof(a) / sizeof(a[0]);int b[5];int c[4];int i, j=0, h=0;for (i = 0; i < len; i++){if (a[i] % 2 != 0){b[j] = a[i];j++;}else{c[h] = a[i];h++;}}printf("新的数组为:");for (j = 0; j <= 4; j++)printf("%d ", b[j]);for (h = 0; h <= 5; h++)printf("%d ", c[h]);system("pause");return 0;}
显然,在上述代码中,b[ ] 和c[ ] 的元素个数是数出来后手动输入的,那么应该如何避免手动输入元素个数呢?
解决方法:将奇数保留,偶数放置在数组的最末位,再将末尾的数字调换至前面位置。
调用函数的代码如下:#include<stdio.h>#include<windows.h>void sort(int *a, int len){int i = 0;int j = len - 1;for (i = 0; i != j; i++){if (a[i] % 2 != 0)continue;else{int t = a[i];a[i] = a[j];a[j] = t;if (a[j] % 2 == 0)j--;i--;}}}int main(){int a[] = { 0, 1, 2, 3, 4, 9, 0, 2, 3, 1, 4 };int len = sizeof(a) / sizeof(a[0]);int i;sort(a, len);for (i = 0; i<lem; i++){printf("%d ", a[i]);}system("pause");return 0;}
阅读全文
0 0
- 使用函数,调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 1.调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 1.调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 全球首起自动驾驶命案后,特斯拉的神话会褪色吗?
- 谷歌远征教育的路上说不上成功,但你不得不服
- 一些常见的易错笔试题(JAVA)
- 一张图告诉你世界首起致死的自动驾驶车祸是如何发生的
- jQuery AJAX 方法 success()后台传来的4种数据
- 使用函数,调整数组使奇数全部都位于偶数前面
- 负载均衡 '全局锁' 和 '频繁提交' 的问题
- webstrom相关配置
- IDA*
- 洛谷八连测R4
- 关键字register:
- 解决iframe框架onload方法不加载的问题
- 为什么公司用weblogic而不用tomcat?
- 51nod1548-枚举&技巧&数学证明-欧姆诺姆和糖果