c语言实现奇偶排序算法

 更新时间:2013年12月11日 16:51:54   作者:  
这篇文章主要介绍了c语言实现奇偶排序算法,有需要的朋友可以参考一下

=====
第2题:奇偶排序(一)
=====


总时间限制:
1000ms
内存限制:
65536kB
描述
输入十个整数,将十个整数按升序排列输出,并且奇数在前,偶数在后。
输入
输入十个整数
输出
按照奇偶排序好的十个整数

复制代码 代码如下:

#include<stdio.h>

#define  COUNT 10
#define bool int
#define true 1
#define false 0


/****
*负责冒泡排序
***/
int* sortFunction(int data[]){
 int i,j;
 for(j=0;j<COUNT-1;j++){
  for(i=0;i<COUNT-1-j;i++){

    if (data[i]>data[i+1]){
     int tmp=data[i]; data[i]=data[i+1];data[i+1]=tmp;
    }

  }

 }
 return data;
}

/****
**负责判断奇数或者偶数
*/
bool isOddNumber(int data){

 if(data % 2==0){
  return false;
 }else{
  return true;
 }
}

main()
{
 int arr[]={10, 9 ,8, 7 ,6, 5, 4, 3, 2, 1};
 int oddArr[COUNT]={0},evenArr[COUNT]={0};
 int *tmp=NULL;
 int i;
 int m=0;
 int n=0;
 for(i=0;i<COUNT;i++){
  if(isOddNumber(arr[i])){
   evenArr[m++]=arr[i];
  }else{
   oddArr[n++]=arr[i];
  }
 }

 //对于奇数数组排序
 tmp=sortFunction(oddArr);
 puts("\n========odd number==========\n");
 for(i=0;i<COUNT;i++){
  int num=*tmp;
  if(num!=0)
  {
   printf("%d ",num);
  }
  *tmp++;
 }

 

 //对于偶数数组排序
 tmp=sortFunction(evenArr);
 puts("\n========even number==========\n");
 for(i=0;i<COUNT;i++){
  int num=*tmp;
  if(num!=0)
  {
   printf("%d ",num);
  }
  *tmp++;
 }

 printf("over");
}


以上代码编写与vs2012里完成。

相关文章

  • VSCode配置C/C++环境的最新详细教程

    VSCode配置C/C++环境的最新详细教程

    VisualStudioCode(简称VSCode)是Microsoft开发的代码编辑器,它支持Windows,Linux和macOS等操作系统以及开源代码,下面这篇文章主要给大家介绍了关于VSCode配置C/C++环境的最新详细教程,需要的朋友可以参考下
    2022-12-12
  • 基于C语言实现图书管理信息系统设计

    基于C语言实现图书管理信息系统设计

    这篇文章主要为大家详细介绍了基于C语言实现图书管理信息系统设计与实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C++超详细分析顺序表

    C++超详细分析顺序表

    程序中经常需要将一组数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化,顺序表则是将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示
    2022-03-03
  • C++ 关键字 inline详细介绍

    C++ 关键字 inline详细介绍

    这篇文章主要介绍了C++ 关键字 inline,有需要的朋友可以参考一下
    2014-01-01
  • 详解C++中构造函数,拷贝构造函数和赋值函数的区别和实现

    详解C++中构造函数,拷贝构造函数和赋值函数的区别和实现

    这篇文章主要介绍了C++中构造函数,拷贝构造函数和赋值函数的区别和实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • visual studio 2015下boost库配置教程

    visual studio 2015下boost库配置教程

    这篇文章主要为大家详细介绍了visual studio 2015下boost库的配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 一篇文章弄懂C++左值引用和右值引用

    一篇文章弄懂C++左值引用和右值引用

    左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,这篇文章主要给大家介绍了关于如何通过一篇文章弄懂C++左值引用和右值引用的相关资料,需要的朋友可以参考下
    2021-07-07
  • C++指针和数组:字符和字符串、字符数组的关联和区别

    C++指针和数组:字符和字符串、字符数组的关联和区别

    字符串是一种重要的数据类型,但是c语言并没有显示的字符串数据类型,因为字符串以字符串常量的形式出现或者存储于字符数组中。在C++标准模板库(STL)中提供了string类,实现了对字符串的封装。
    2022-12-12
  • C语言中多维数组的内存分配和释放(malloc与free)的方法

    C语言中多维数组的内存分配和释放(malloc与free)的方法

    写代码的时候会碰到多维数组的内存分配和释放问题,在分配和释放过程中很容易出现错误。下面贴上一些示例代码,以供参考。
    2013-05-05
  • C C++ 算法实例大全

    C C++ 算法实例大全

    这篇文章主要介绍了C C++ 算法实例大全,里面大量的实例介绍,学习c语言的朋友可以收藏
    2016-12-12

最新评论