ch=PriStr(ch); if(ch==【3】)
puts(\}
【1】A)ch2[i][0] B)ch2[i-1][0] C)*ch2[i] D) *ch2[i-1][0] 【2】A)ch2[i] B)*ch2[i] C)*ch2[i-1] D) ch2[i-1] 【3】A)?0? B)?48? C) 0 D) 30
28. 以下程序是将输入的一个整数反序打印出来,例如输入1234,则输出4321,输入-1234,
则输出-4321。请将程序补充完整。 void printopp(long int n) { int i=0; if(n==0) return ; else
while(n) {
if(【1】) printf(\ else printf(\ i++; 【2】; } }
main() {
long int n;
scanf(\ printopp(n); printf(\}
【1】A)n<0&&i==0 B)n<0||i==0 C)n>0&&i==0 D)n>0||i==0 【2】A)n%=10 B)n%=(-10) C)n/=10 D)n/=)-10)
29. 下面的程序用递归定义的方法实现求菲波拉契数列1、1、2、3、5、8、13、21……第
7项的值fib(7),菲波拉契数列第1项和第2项的值都是1。请将程序补充完整。
#include
switch(g) {
case 0: return 0; case 1:
case 2: return 1; }
return (【2】); }
main() { long k; k=fib(7);
printf(\}
【1】A)g B)k C)long int g D)int k 【2】A)fib(7) B)fib(g) C)fib(k) D)fib(g-1)+fib(g-2) 30.有以下程序
int fun(int n) {
if(n==1) return 1;
else return(n+fun(n-1)); }
main() { int x;
scanf(\ x=fun(x);
printf(\}
程序执行时,若输入10,程序的输出结果是【 】。 A)55 B)54 C)65 D)45
31. 下面是一个计算1至m的阶乘并依次输出的程序。程序中应填入的正确选项是【 】。
#include
result=result*j; return; }
main() {
int m,i=0,x;
printf(\ scanf(\ for(;i++ x=factorial(i); printf(\【 】 ); } } A)i,factorial(i) B)i,x C)j,x D)i,result 32. 以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示。请将程序补充完 整。 #include long codivisor(long n1,long n2) { long t; while( n2!=0 ) {【1】; n1=n2; n2=t;} return (【2】); } main() { long a,b,x; printf(\ scanf(\ x=codivisor(a,b); printf(\} 【1】A)t=n1/n2 B)t=n1%n2 C)t=n2%n1 D)t=n2/n1 【2】A)labs(n1) B)labs(a) C)labs(b) D)labs(n2) 33. 以下程序的功能是计算并显示一个指定行数的杨辉三角形(形状如下),请将程序补充 完整。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 程序: #include void yanghui(int b[][N], int n) { int i,j; for(i=0; 【1】; i++) { b[i][0]=1; b[i][i]=1; } for(【2】;++i<=n;) for(j=1;j for(j=0;j<=i;j++) 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