输入一组数,按照奇数在前偶数在后的顺序打印出来


void num_odd_even(int arr[], int sz)
{
	int l = 0;
	int r = sz - 1;
	while (l < r)
	{
		while ((l < r) && (arr[l] % 2 == 1))
		{
			l++;
		}
		while ((l < r) && (arr[r] % 2 == 0))
		{
			r--;
		}
		if (l < r)
		{
			int tmp = arr[l];
			arr[l] = arr[r];
			arr[r] = tmp;
			l++;
			r--;
		}
	}

}
int main()
{
	int arr[10] = { 0 };
		int sz = sizeof(arr) / sizeof(arr[0]);
		int i = 0;
		for (i = 0; i < sz; i++)
		{
			scanf("%d", &arr[i]);
		}
		num_odd_even(arr, sz);
		for (i = 0; i < sz; i++)
		{
			printf("%d ", arr[i]);
		}
	return 0;
}

输入一组数,按照奇数在前偶数在后的顺序打印出来_第1张图片

 输入一组数,按照奇数在前偶数在后的顺序打印出来_第2张图片

 

你可能感兴趣的:(算法,数据结构,c语言)