uateExpression(s)); // %g Р return 0;Р}Р 运行结果如下:Р Р2.递归的使用Р 2.1 求n!:Р 代码如下:Р #include <stdio.h>Рint Fact(int n) Р{ Р if(0 == n) return 1;Р else return n*Fact(n-1);Р}Рint main()Р{ Р int n;Р scanf("%d",&n);Р printf("%d的阶乘为:",n); Р printf("%d",Fact(n));Р return 0;Р}Р运行结果如下:Р2.2 哈诺塔:Р代码如下:Р #include <stdio.h>Рint Hanoi(int n,char a,char b,char c)Р{Р if(1 == n) Рprintf("%c-%d->%c ",a,1,c);Р else{Р Hanoi(n-1,a,c,b);Р printf("%c-%d->%c ",a,n,c);Р Hanoi(n-1,b,a,c);Р }Р return 0;Р}Рint main()Р{Р int n;Р char a='A',b='B',c='C';Р printf("请输入汉诺塔的层数: ");Р scanf("%d",&n);Р Hanoi(n,a,b,c);Р printf("\n");Р return 0;Р}Р运行结果如下:Рn=3时Рn=4时Рn=5时Рn=6时Р由3,4,5可推知n层哈诺塔需要移动次;Рn=6时,需要移动63次。Р3. 队列的出队和入队Р代码如下:Р #include <stdio.h> Р#include <stdlib.h>Р#include <string.h>Р#define OK 1Р#define ERROR 0Р#define OVERFLOW -1