本帖最后由 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[10] , i , j , k , m ;
printf("输入10个数:") ;
scanf("%d%d%d%d%d%d%d%d%d%d" , & d[0] , & d[1] , & d[2] , & d[3] , & d[4] , & d[5] , & d[6] , & d[7] , & d[8] , & d[9]) ;
for(m = 10 , i = 0 ; i < m / 2 ; i ++) {
if(d[i] > d[m - i - 1]) swap(& d[i] , & d[m - i - 1]) ;
for(j = i + 1 ; j < m - 1 - i; j ++) {
if(d[j] < d[i]) swap(& d[j] , & d[i]) ;
else if(d[j] > d[m - i - 1]) swap(& d[j] , & d[m - i - 1]) ;
}
}
for(k = 0 ; k < m ; k ++) if(d[k] % 2) printf(" %2d" , d[k]) ;
for(k = 0 ; k < m ; k ++) if(!(d[k] % 2)) printf(" %2d" , d[k]) ;
}
编译运行实况:C:\Bin>g++ -static -o x x.c
C:\Bin>x
输入10个数:10 9 8 7 6 1 2 3 4 5
1 3 5 7 9 2 4 6 8 10
C:\Bin>
|