郝斌《数据结构》课程源代码
递归的实现
用者自取,自由分享
#include <stdio.h>
int main(void)
{
int val;
int i, s, mult =1;
printf("请输入一个数字:");
printf("val = ");
scanf("%d", &val);
for(i = 1; i <= val; ++i)
{
mult = mult * i;
}
printf("%d! = %d", val, mult);
return 0;
}
#include <stdio.h>
int main(void)
{
int val;
int i, s, mult =1;
printf("请输入一个数字:");
printf("val = ");
scanf("%d", &val);
for(i = 1; i <= val; ++i)
{
mult = mult * i;
}
printf("%d! = %d", val, mult);
return 0;
}
#include <stdio.h>
void hanno(int , char , char , char );
int main(void)
{
char ch1 = 'A';
char ch2 = 'B';
char ch3 = 'C';
hanno(3, ch1, ch2, ch3);
return 0;
}
void hanno(int n, char X, char Y, char Z)
{
if(1 == n)
{
printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n", n, X, Z);
}
else
{
hanno(n - 1, X, Z, Y);
printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n", n, X, Z);
hanno(n - 1, Y, X, Z);
}
}