c語言實現(xiàn)奇偶排序算法
=====
第2題:奇偶排序(一)
=====
總時間限制:
1000ms
內(nèi)存限制:
65536kB
描述
輸入十個整數(shù),將十個整數(shù)按升序排列輸出,并且奇數(shù)在前,偶數(shù)在后。
輸入
輸入十個整數(shù)
輸出
按照奇偶排序好的十個整數(shù)
#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;
}
/****
**負責判斷奇數(shù)或者偶數(shù)
*/
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];
}
}
//對于奇數(shù)數(shù)組排序
tmp=sortFunction(oddArr);
puts("\n========odd number==========\n");
for(i=0;i<COUNT;i++){
int num=*tmp;
if(num!=0)
{
printf("%d ",num);
}
*tmp++;
}
//對于偶數(shù)數(shù)組排序
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里完成。
相關文章
詳解C++中構(gòu)造函數(shù),拷貝構(gòu)造函數(shù)和賦值函數(shù)的區(qū)別和實現(xiàn)
這篇文章主要介紹了C++中構(gòu)造函數(shù),拷貝構(gòu)造函數(shù)和賦值函數(shù)的區(qū)別和實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03C++指針和數(shù)組:字符和字符串、字符數(shù)組的關聯(lián)和區(qū)別
字符串是一種重要的數(shù)據(jù)類型,但是c語言并沒有顯示的字符串數(shù)據(jù)類型,因為字符串以字符串常量的形式出現(xiàn)或者存儲于字符數(shù)組中。在C++標準模板庫(STL)中提供了string類,實現(xiàn)了對字符串的封裝。2022-12-12C語言中多維數(shù)組的內(nèi)存分配和釋放(malloc與free)的方法
寫代碼的時候會碰到多維數(shù)組的內(nèi)存分配和釋放問題,在分配和釋放過程中很容易出現(xiàn)錯誤。下面貼上一些示例代碼,以供參考。2013-05-05