方法void moveOddForword(int a[ ])的功能是将数组中的所有奇数移到所有偶数之前。 void moveOddForword(int a[]){ for(int i=0, odd=0;________;i++) if(________){ int t=a[i];a[i]=a[odd];a[odd]=t;odd++; } }[/i][/i]
举一反三
- 下面 rotate 函数的功能是:将 n 行 n 列的矩阵a 转置#define N 4 void rotate(int a[][N]) { int i,j,t; for(i=0;i 答案: (1) j (2) a[i][j]=a[j][i] 答案解析: 难易: 中 知识点:[/i][/i]
- public class Array1{public static void main(String[] args) {int odd = 0, even = 0;int[] array = new int[] { 1, 4, 7, 8, 9, 10, 0, 0, 14, 19, 24, 29 };for (int i : array) {if (i % 2 == 0) {even++;}else{odd++;}}System.out.printf("偶数=%d,奇数=%d", even, odd);}}请写出运行结果
- 设计一个时间复杂度为O(n)的算法,实现将数组a[n]中所有元素调整为左右两部分,左边为奇数,右边为偶数。将下面代码补充完整。 public static void Adjust(int a[],int n){ int i=0,j=n-1,temp; while(i<j){ while( 1 ) i++; while( 2 ) j--; if(i<j) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } }[/i][/i]
- 写输出结果#include "stdio.h"int binary(int x, int a[], int n){ int low=0,high=n-l,mid; while(low<=high) { mid=(low+high)/2; if(x>a[mid]) high=mid-l; else if(x<a[mid]) low=mid+l; else return(mid); } void main(){ static int a[]={4,0,2,3,1}; int i,t,j; for(i=1;i<5;i++) t=a[i]; j=i-l; while(j>=0 && t>a[j]) { a[j+1]=a[j]; j--;} a[j+1]=t; } printf("%d\n",binary(3,a,5)); }
- 有以下程序 void main() { int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d\n",a[0][1]+a[1][1]+a[1][2]); } 执行后输出结果是______。[/i][/i][/i] A: 7 B: 6 C: 8 D: 无确定值