|
发表于 2022-11-16 17:38:55
|
显示全部楼层
本帖最后由 jackz007 于 2022-11-16 20:08 编辑
你是不是把奇偶数搞反了?
- if(N%2==0)
- return b[N/2];
- else
- return (b[N/2]+b[N/2-1])/2;
复制代码
这是我修改的代码,谨供楼主参考
- #include<stdio.h>
- #define N 4
- int Dubble(int b[])
- {
- int c , i , j , t ;
- for(c = 1 , i = 0 ; i < N - 1 && c ; i ++)
- {
- for(c = j = 0 ; j < N - i - 1 && c ; j ++)
- {
- if(b[j] > b[j + 1])
- {
- t = b[j] ;
- b[j] = b[j + 1] ;
- b[j + 1] = t ;
- c ++ ;
- }
- }
- }
- if(N % 2) return b[N / 2] ;
- else return (b[N / 2] + b[N / 2 - 1]) / 2 ;
- }
- int main()
- {
- int i , a[N] ;
- double t ;
- for(i = 0 ; i < N ; i ++) scanf("%2d" , & a[i]) ;
- t = Dubble(a) ;
- printf("%.0f" , t) ;
- return 0 ;
- }
复制代码 |
|