以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A','B,'C');则符合程序段运行结果的选项是voidmove(chargetone,charputone){printf("%c-->%cn"getone,putone);}voidhanoi(intn,char one,char two,char three){if(n==1)move(one,three); else {banoi(n-1,one,three,two); move(one,three); hanoi(n-1,two,one,three); }
A)A-->CA—->BC-->BC-->BA-->CA-->B
B)A-->C A—->B A-->BB-->C A-—>B
C)A-->CA-->BA—->CB-->CA-->C
查看答案
以下程序是选出能被3肇除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空。sub(intk,intn){intal,a2; a2=【1】 a1-k-【2】; if((k%3==0&&a2-5)11(k%3==0&&.a1==5)){printf("%d",k);n++;returnn;}elsereturn—1;}main(){ intn=0.k,mi for(k=10.k<=99;k++) {m=sub(k.n); if(m!=-1)n=m}printf("\nn=Yd".n);}
A)k*10A)a2*10
B)k%10B)a2
C)k/10C) a2/10
D)k*10%10D)a2%10
以下程序的运行结果是Sub(intx,inty,int*z){*z=y-xmain(){Inta, b, c;sub(10.5.&a);sub(7,a,&b);sub(a,b.&c);printf("%4d,%4d,%4d\n",a,b.,c);}
A)5,2.3
B)-5.-12.
C) -5.-12.-17
D).5, 2:
以下程序中调用 scanf函数给变量a输入数值的方法是错误的,其错误原因是______。main(){int*p,*q,a,b;p=&a;printf(“input a:”);scanf("%d,”*p);┇}
A
B
执行以下程序后,a的值为【1】,b的值为【2】main(){ inta,b,k=4,m=6,p1=&k,*p2=8m;a=p1==&m;b=(一*p1)/(*p2)+7;printf("a=%d",a);printf("b=%d\n",b)
A. 【1】A)-1
B)1B)6
C)0C)7
D)10