printf(\ printf(\ } }
main() {
int a[N][N]={0},n;
printf(\ scanf(\ printf(\ yanghui(a,n); }
【1】A)i 34. 下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输 出31,请将程序补充完整。 #include int i=0,j=0,a,b[10]={0}; printf(\ scanf(\ sub(a,b); for(;i<10;i++) { if(【1】) j++; if(j!=0) printf(\ } } sub(int c, int d[]) { int e, i=9; while(c!=0) { e=c%8; d[i]=e; 【2】; i--; } return; } 【1】A)b[i]<0 B)b[i-1]!=0 C)b[i]<=0 D)b[i]!=0 【2】A)c=sub(c/8) B)c=c%8 C)c=c/8 D)c=e%8 35. 函数bisearch 的作用是应用折半查找法从存有N个整数的升序数组a中对关键字key 进行查找。请将程序补充完整。 #include bisearch(int a[N], int key) { int low=0, high=N-1, mid; while(【1】) { mid=(low+high)/2; if(key if(key>a[mid]) low=mid+1; else return mid; } return 【3】 ; } main() { int b[N],n,I,j; printf(\ for(i=0;i printf(\ scanf(\; } printf(\ scanf(\ j=bisearch(b,n); if(j<-5) printf(\?t find %d\\n\ else printf(\} 【1】A)low 36. 如果程序及其运行结果显示如下,请将程序补充完整。 2 10 4 6 1 5 2 3 2 4 7 8 5 1 3 2 The value is 15. 程序: #include int 【2】,j; for(j=0;j<4;j++) { b[3][j]=2*b[0][j]; printf(\ b[3][j]=0; } printf(\ for(j=0;j<4;j++) if(b[i][j]<5&&b[i][2]>5) k+=b[i][j]; return k; } main() { static int a[4][4]={ 【3】}; int i,j,k; k=func(a,9); for(i=0;i<4;i++) { for(j=0;j<4;j++) if(a[i][j]!=0) printf(\ if(a[i][4]!=0) printf(\ } printf(\} 【1】A)int b[4][],k B)int b[][4],k C)int b[4,4],int k D)int b[][4],int k 【2】A)i=0 B)i=1 C)i=2 D)i=3 【3】A) {1,5,2,3},{2,4,7,8},{5,1,3,2} B){2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2} C) {1,5,2,3},{2,4,7,8},{5,1,2,3} D){2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,2,3} 37. 以下程序的功能是用二分法求方程f(x)=x41+x3+1=0在区间(-1.0,-0.5)中的一个实 根,并要求绝对误差不超过0.001。二分法的基本思想是:假设在区间(a,b)中f(a) 与f(b)异号,先取区间的中点m,如果f(m)与f(a)异号,则取新的解区间为(a,m),否则取新的解区间为(m,b)。不断对解区间对分,直到解区间已经小于给定的误差时,取该区间的中点作为解的近似值。请将程序补充完整。 #include return (pow(x,41)+pow(x,3)+1); } float solv(float a,float b) { float m; m=(a+b)/2; while(f(m)*f(b)!=0) { if(【1】) a=m; else b=m; if(【2】) break; m=(a+b)/2; } return m; } main() { float r; r=solv(-1.0,-0.5); printf(\【3】); } 【1】A)f(m)*f(b)<0 B)f(m)*f(b)>=0 C)f(m)*f(b)<=0 D)f(m)*f(b)>0 【2】A)b-a<0.001 B)fabs(a-b)<0.001 C)ABS(a-b)<0.001 D)a-b<0.001 【3】A)f(r) B)f(m) C) r D)m 38. 以下程序是选出能被3整除且至少有一位是5的所有三位正整数k(个位为a0,十位为a1, 百位为a2),打印出所有这样的数及其个数。请将程序补充完整。 #include int a0,a1,a2; a2=【1】; a1=【2】; a0=m; if(m%3==0 && (a2==5||a1==5||a0==5)) { printf(“%d”,m);