C语言实现奇偶排序(奇数在前,偶数在后)

简介: C语言实现奇偶排序(奇数在前,偶数在后)

目的:输入一个数组,使得数组中奇数在前,偶数在后。

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  int arr[10] = {0};
  for (int i = 0; i <= 9; i++)
  {
    scanf("%d", &arr[i]);            //输入数组中的各个元素
  }
  int left = 0;
  int right = 9;
  while (left < right)     //循环实现
  {
    while ((left < right) && arr[left] % 2 == 1)
    {
      left++;                         //找到一个偶数后停下
    }
    while ((left < right) && arr[right] % 2 == 0)
    {
      right--;                        //找到一个奇数后停下
    }
    if (left < right)
    {
    int tmp = arr[left];               //然后交换这两个数的位置,实现奇数在前,偶数在后。
      arr[left] = arr[right];
        arr[right]=tmp;
    }
  }
  for (int i = 0; i <= 9; i++)
  {
    printf("%d ", arr[i]);       打印出排序后的数组内容。
  }
  return 0;
}

例如:第一行是输入的内容,第二行是排完序后的内容。

目录
相关文章
|
2月前
|
C语言
C语言——oj刷题——调整数组使奇数全部都位于偶数前面
C语言——oj刷题——调整数组使奇数全部都位于偶数前面
19 1
|
2月前
|
C语言
【C语言刷题系列】交换整数的奇数位和偶数位
【C语言刷题系列】交换整数的奇数位和偶数位
|
2月前
|
C语言
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
|
3月前
|
C语言
c语言编程练习题:7-51 求奇数分之一序列前N项和
c语言编程练习题:7-51 求奇数分之一序列前N项和
44 0
|
3月前
|
C语言
【C语言必刷题】1.打印1~100之间的奇数
【C语言必刷题】1.打印1~100之间的奇数
|
3月前
|
C语言
c语言编程练习题:7-25 求奇数和
c语言编程练习题:7-25 求奇数和
33 1
|
3月前
|
C语言
[C语言][题]获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
[C语言][题]获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
33 0
|
8月前
|
C语言
C语言第三十二弹---打印整数二进制的奇数位和偶数位
C语言第三十二弹---打印整数二进制的奇数位和偶数位
|
9月前
|
C语言
【C语言刷题】调整奇数偶数顺序、有序序列合并以及有序序列判断
【C语言刷题】调整奇数偶数顺序、有序序列合并以及有序序列判断
52 0
|
C语言
C语言顺序表:奇数放偶数前
C语言顺序表:奇数放偶数前
193 0