请求帮忙!
输入10个数,将10个数按生序排列输出,并且奇数在前,偶数在后。如果输出十个数是:10 9 8 7 6 5 4 3 2 1,则输出:1 3 5 7 9 2 4 6 8 10。(提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数在复制偶数)。 本帖最后由 jackz007 于 2019-12-2 16:36 编辑
#include <stdio.h>
void swap(int * a , int * b)
{
int t ;
t = * a ;
* a = * b ;
* b = t ;
}
main(void)
{
int a , b , d , i , j , k , m ;
printf("输入10个数:") ;
scanf("%d%d%d%d%d%d%d%d%d%d" , & d , & d , & d , & d , & d , & d , & d , & d , & d , & d) ;
for(m = 10 , i = 0 ; i < m / 2 ; i ++) {
if(d > d) swap(& d , & d) ;
for(j = i + 1 ; j < m - 1 - i; j ++) {
if(d < d) swap(& d , & d) ;
else if(d > d) swap(& d , & d) ;
}
}
for(k = 0 ; k < m ; k ++) if(d % 2) printf(" %2d" , d) ;
for(k = 0 ; k < m ; k ++) if(!(d % 2)) printf(" %2d" , d) ;
}
编译运行实况:
C:\Bin>g++ -static -o x x.c
C:\Bin>x
输入10个数:10 9 8 7 6 1 2 3 4 5
135792468 10
C:\Bin>
页:
[1]