一、运行结果;
二、源码;
# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
//实现调整函数move_odd_even函数;
void move_odd_even(int arr[], int sz)
{
//初始化变量值;
int left = 0;
int right = sz - 1;
//循环判断和交换值;
while (left < right)
{
//left判断偶数停下来;
while ((left < right) && (arr[left] % 2 == 1))
{
//判断完成下一个;
left++;
}
//right判断是奇数停下来;
while ((left < right) && (arr[right] % 2 == 0))
{
//判断完成下一个;
right--;
}
//交换奇偶数位置;
if (left < right)
{
//引入第三方变量实现交换;
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
//进一步结束循环;
left++;
right--;
}
}
}
int main()
{
//初始化变量值;
int i = 0;
//初始化数组;
int arr[10] = { 0 };
//求数组长度;
int sz = sizeof(arr) / sizeof(arr[0]);
//1.利用循环实现用户输入数组值;
for (i = 0; i < 10; i++)
{
//获取用户输入值;
scanf("%d", &arr[i]);
}
//2.处理数据;
//调用函数move_odd_even
move_odd_even(arr, sz);
//3.循环输出结果;
for (i = 0; i < 10; i++)
{
printf("%d", arr[i]);
}
return 0;
}