码迷,mamicode.com
首页 > 编程语言 > 详细

写一函数,调整数组使奇数全部都位于偶数前面

时间:2019-02-14 23:52:53      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:oid   scan   stdio.h   函数   def   奇数   void   code   部分   

 调整数组使奇数全部都位于偶数前面。
 输入一个整数数组,实现一个函数,
 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,
 所有偶数位于数组的后半部分。

 1 #include<stdio.h>
 2 
 3 #define NUM 10
 4 
 5 void Change_num(int* start, int* end)
 6 {
 7     //开头找偶数,结尾找奇数,找到后两个相互交换位置
 8     //1,2,3,4,5,6,7,8,9,5
 9     //1, 3, 5, 4, 5, 6, 7, 8, 9, 2
10     while (start < end)
11     {
12         if ((*start) % 2 == 0 )
13         {
14             if ((*end) % 2 != 0)
15             {
16                 int temp = 0;
17                 temp = *start;
18                 *start = *end;
19                 *end = temp;
20             }
21             else
22             {
23                 --end;
24             }
25         }
26         else
27         {
28             ++start;
29         }
30     }
31 }
32 
33 int main()
34 {
35     int arr[NUM];
36     printf("请输入未改变顺序前的10个数:\n");
37     for (int i = 0;i < NUM;++i)
38     {
39         scanf("%d", &arr[i]);
40     }
41     printf("\n");
42     //改变奇数与偶数的顺序
43     int* start = arr;
44     int* end = arr + sizeof(arr) / sizeof(arr[0]) - 1;
45     printf("改变顺序之后:\n");
46     Change_num(start, end);
47     for (int i = 0;i < NUM;++i)
48     {
49         printf("%d ", arr[i]);
50     }
51     return 0;
52 }

 

写一函数,调整数组使奇数全部都位于偶数前面

标签:oid   scan   stdio.h   函数   def   奇数   void   code   部分   

原文地址:https://www.cnblogs.com/cuckoo-/p/10381204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!