|
发表于 2020-12-27 18:14:45
|
显示全部楼层
本帖最后由 jackz007 于 2020-12-27 18:25 编辑
已经解决了,我也做了一个,请楼主参考,多一个思路可以多一个借鉴
- #include <stdio.h>
- void swap(int * a , int * b)
- {
- int t ;
- t = * a ;
- * a = * b ;
- * b = t ;
- }
- main(void)
- {
- int d[200] , i , j , n = 10 ;
- printf("请输入 %d 个整数 : " , n) ;
- for(i = 0 ; i < n ;i ++) scanf("%d" , & d[i]) ;
- for(i = 0 ; i < n ; i ++) {
- for(; i < n && d[i] % 2 ; i ++) ; // 寻找第一个偶数
- for(j = i ; j < n && ! (d[j] % 2) ; j ++) ; // 寻找这个偶数后面的奇数
- if(j < n) swap(&d[i] , & d[j]) ; // 如果找到就互换 d[i]、[j]
- }
- printf("%d" , d[0]) ;
- for(i = 1 ; i < n ; i ++) printf(" %d" , d[i]) ;
- printf("\n") ;
- }
复制代码 |
|