一 主要涉及到的知识点:
1.1 for循环
1.2 计算数组的大小int sz = sizeof(arr) / sizeof(arr[0]);
1.3 函数的定义使用
1.4 while()循环
二 源代码:
//输入一个整数数组,实现一个函数
//来调整该数组中数字的顺序使得数组中所有的奇数位与数组的前半部分,
//所有的偶数位于数组的后半部分;
#include <stdio.h>
//数组奇数偶数调整函数定义
void move_odd_even(int arr[],int sz)
{
int left = 0;
int right = sz - 1;
while (left < right)
{
//查找左边的奇数
while ((left < right) && (arr[left] % 2 == 1))
{
left++;
}
//查找右边的偶数
while ((left < right) && (arr[right] % 2 == 0))
{
right--;
}
//调整
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right++;
}
}
int main()
{
int arr[10] = { 0 };
//输入
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < sz; i++)
{
scanf("%d", arr + i);
}
//调用调整函数
move_odd_even(arr, sz);
//打印
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
return 0;
}