//全局变量与局部变量同名示例#include int a=10; //定义全局变量int main( ){int a=100; //局部变量(与全局变量同名)printf("a = %d\n", a);//printf("a = %d\n", ::a);//请确定输出结果return 0;}
A. a=10
B. a=100
//函数的递归调用――求n!//请选择空白位置的正确内容#include //用递归实现的计算阶乘的函数long factn(int n){long s;if(n==0)//n为0则结果为1return(1);else//n不为0(实质是指n>0)则结果为n*(n-1)!{s=________;//递归调用return(s);}}int main(){long n;printf("\n请输入一个不小于0的整数:");scanf("%d",&n);printf("\n%d!=%d\n",n,factn(n));return 0;}
A. n*(n-1)!
B. n*factn(n-1)
C. factn(n-1)
//函数的递归调用――汉诺(Hanoi)塔问题//请选择空白位置的正确内容#include "stdio.h"#include "stdlib.h"#define N 64int step=0;//记录步骤的全局变量//显示移动步骤void Move(char chSour, char chDest){step++;printf("\n第%20d步,从 %c 移至 %c",step,chSour, chDest);}//下面函数Hanoi(char chA,char chB,char chC,int n)//表示借助chB柱子把n片金片从chA柱子移动到chC柱子。//其中第一个参数表示源柱子,第二个参数表示借用的柱子,//第三个参数代表目标柱子,第四个参数表示金片的数量。void Hanoi(char chA,char chB,char chC,int n){//检查当前的金片数量是否为1if(n==1)//金片数量为1,输出结果后停止Move(chA,chC);else//金片数量大于1,继续进行递归过程{________Move(chA,chC);Hanoi(chB,chA,chC,n-1);}}int main(){int n;//输入金片的数量do{printf("请输入金片数量(1-%d):",N);scanf("%d",&n);}while((n<1)||(n>N));printf("以下为将%d片金片从柱子%c移动到柱子%c的步骤:",n,'A','C');//调用函数,输出移动过程:Hanoi('A','B','C',n);printf("\n\n----------------结 束----------------\n");return 0;}
A. Hanoi(chA,chC,chB,n);
B. Hanoi('A','C','B',n-1);
C. Hanoi(chA,chC,chB,n-1);