首页 > 其他分享 >C语言调整奇数偶数顺序

C语言调整奇数偶数顺序

时间:2024-03-15 19:29:05浏览次数:26  
标签:arr right 奇数 int len C语言 偶数 数组 left

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

代码如下

#include<stdio.h>
void Function(int* p, int k) {
	int* left = p;
	int* right = p + k - 1;
	while (left < right) {
		while (left < right && *left % 2 != 0) {
			left++;
		}
		while (left < right && *right % 2 == 0) {
			right--;
		}
		int tmp = *left;
		*left = *right;
		*right = tmp;
	}
}
int main()
{
	int arr[] = {1,2,3,4,5,6,7,8};
	int len = sizeof(arr) / sizeof(arr[0]);
	Function(arr,len);
	for (int i = 0;i < len;i++) {
		printf("%d",*(arr+i));
	}
	
	return 0;
}

如果对你有帮助的话就请点个赞吧

标签:arr,right,奇数,int,len,C语言,偶数,数组,left
From: https://blog.csdn.net/white16_/article/details/136748072

相关文章

  • C语言实验1
    #include<stdio.h>#include<stdlib.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");printf("o\n");printf("<H>\n");printf("II\......
  • 实验1 C语言输入输出和简单程序编写
    task1_1.c1#include<stdio.h>2intmain()3{4printf("O\n");5printf("<H>\n");6printf("II\n");7printf("O\n");8printf("<H>\n");9prin......
  • C语言中抽象函数与具体实现的命名与组织
    C语言中抽象函数与具体实现的命名与组织在C语言的项目开发中,尤其是嵌入式系统和开源软件项目里,合理地命名和组织抽象函数及其具体实现对于提高代码的可读性、可维护性和可扩展性至关重要。以下是关于如何在这些项目中有效地处理抽象和实现的一些建议:抽象函数与具体实现的区分A......
  • C语言之Linux环境下学习(二)
    C语言目录一、Linux指令补充1.rm:移除文件2.cat:查看文件内容3.cp:复制文件4.mv:剪切4.tar:压缩文件二、Linux指令之通配符1.通配符2.Tab自动补全功能前言针对上一节部分Linux指令操作知识的补充,以及快捷键的使用。一、Linux指令补充1.rm:移除文件  ......
  • C语言小游戏:猜数字
    //猜数字#include<stdio.h>#include<stdlib.h>intmain(){ inta,x,y,n,b=0; printf("请输入范围1~n中n的值:"); scanf("%d",&n); a=rand()%n+1; while(1) { printf("请输入一个整数:"); scanf("%d",&x); if(x&......
  • Linux下配置vim以及编译C语言
    在Linux下配置Vim和编译C语言程序是很常见的任务。下面是在Ubuntu上配置Vim和编译C语言程序的简要步骤:1.安装Vim大多数Linux发行版默认都已经安装了Vim,如果您的系统没有安装,可以使用包管理工具来安装。sudoaptupdatesudoaptinstallvim2.配置V......
  • C语言初学习——易错点合集(持续更新中)
    转义字符例题一intmain(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++){if(s[i]>='0'&&s[i]<='9'){n++;}}printf(&quo......
  • 实验一c语言输入输出和简单程序应用编程
    1#include<stdio.h>2intmain()3{456printf("o\n");7printf("<H>\n");8printf("II\n");9printf("o\n");10printf("<H>\n");11......
  • (计算机二级C语言)程序设计题<75>
    题目:#include<math.h>#include<stdio.h>doublefun(intn){}voidmain(){intn;doubles;voidNONO();printf("\n\nInputn:");scanf("%d",&n);s=fun(n);printf("\n\ns=%f\n\n",s......
  • (计算机二级C语言)程序设计题<74>
    题目:#include<stdio.h>#include<math.h>doublefun(intn){}voidmain(){intn;doublesum;voidNONO();printf("\n\nInputn:");scanf("%d",&n);sum=fun(n);printf("\n\nsum=%f\......