C语言

C语言实现将一个数组中的奇偶数分别存放

2019-05-23
72次浏览

在一个数组中的元素大多奇数和偶数是混在一起的,而将数组中元素奇数和偶数分开存放则是我们要解决的问题。


将奇数和偶数分开存放然后打印出来的思路是先创建两个空间,将奇数和偶数分别存放起来,然后再将他们又存进原数组,最后将数组元素循环打印就完成了奇数和偶数的分别存放。


图片.png

#include<stdio.h>
int main()
{
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
   int i = 0;
   int j = 0;
   int k = 0;
   int sz = sizeof(arr) / sizeof(arr[0]);
   int arr2[10] = { 0 };
   int arr3[10] = { 0 };
   while (i < sz)
   {
       if (arr[i] % 2 == 1)
       {
           arr2[j] = arr[i];
           j++;
           i++;
       }
       else
       {
           arr3[k] = arr[i];
           k++;
           i++;
       }
   }
   i = 0;
   j --;
   k --;
   while (j != -1)
   {
       arr[i] = arr2[j];
       j--;
       i++;
   }
   while (k != -1)
   {
       arr[i] = arr3[k];
       i++;
       k--;
   }
   for (i = 0; i < sz; i++)
   {
       printf("%d ", arr[i]);
   }
   return 0;
}

运行如下:

图片.png


来自嵌入式ARM.png

我要点评