c语言,将奇数和偶数分类

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

**思路:像冒泡排序那样,相邻两个数比较,两个都是偶数则不动,左偶右奇把偶和奇交换一下,**如1234,12不符合不动,23符号条件,交换一下,就是1324,第一个数比完再比第二个数,以此类推。

例子:

1 2 3 4 5 6

1 3 2 4 5 6

1 3 2 5 4 6

1 3 5 2 4 6

代码:

cpp 复制代码
#include<stdio.h>
void JO(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		int j = 0;
		for (j = 0; j < sz-i-1; j++)
		{
			if (arr[j] % 2 == 0 && arr[j + 1] % 2 != 0)
			{
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
}
int main()
{
	int arr[10];
	int sz = sizeof(arr) / sizeof(arr[0]);
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &arr[i]);
	}
	JO(arr, sz);
	int j = 0;
	for (j = 0; j < 10; j++)
	{
		printf("%d ", arr[j]);
	}
}

效果呈现:

相关推荐
ChoSeitaku28 分钟前
链表循环及差集相关算法题|判断循环双链表是否对称|两循环单链表合并成循环链表|使双向循环链表有序|单循环链表改双向循环链表|两链表的差集(C)
c语言·算法·链表
DdddJMs__13533 分钟前
C语言 | Leetcode C语言题解之第557题反转字符串中的单词III
c语言·leetcode·题解
Fuxiao___37 分钟前
不使用递归的决策树生成算法
算法
我爱工作&工作love我42 分钟前
1435:【例题3】曲线 一本通 代替三分
c++·算法
娃娃丢没有坏心思1 小时前
C++20 概念与约束(2)—— 初识概念与约束
c语言·c++·现代c++
白-胖-子1 小时前
【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字
开发语言·c++·算法·蓝桥杯·等考·13级
workflower1 小时前
数据结构练习题和答案
数据结构·算法·链表·线性回归
好睡凯1 小时前
c++写一个死锁并且自己解锁
开发语言·c++·算法
Sunyanhui12 小时前
力扣 二叉树的直径-543
算法·leetcode·职场和发展
一个不喜欢and不会代码的码农2 小时前
力扣105:从先序和中序序列构造二叉树
数据结构·算法·leetcode