C实现数组奇数在前偶数在后排序
2023-12-28 21:41:34
一、运行结果;
二、源码;
# 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;
}
文章来源:https://blog.csdn.net/m0_67184754/article/details/135278454
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!