注册 登录
编程论坛 C++教室

这个程序代码怎么不能执行呀?请高手给指点一二

古故谷 发布于 2010-10-22 23:26, 380 次点击
#include<stdio.h>
int i=0;
void movedisk(int n,char A,char B,char C);
int main()
{
    int n;
    printf("Please enter the number of locative:");
    scanf("%d",&n);
    printf("\thanoi:\tA\tB\tC");
    movedisk(n,'A','B','C');
    printf("\tTotal:\t%d\n",i);
    return 0;
}
void movedisk(int n,char A,char B,char C)
{
    movedisk(n-1,A,C,B);
    i++;
    switch(A)
    {
    case 'A':
        switch(C)
        {
        case'B':printf("\t[%d]:\t%2d----->%2d\n",i,n,n);break;
        case'C':printf("\t[%d]:\t%2d------------>%2d\n",i,n,n);break;
        }
        case 'B':
            switch(C)
            {
            case'A':printf("\t[%d]:\t%2d<-----%2d\n",i,n,n);break;
            case'C':printf("\t[%d]:\t\t%2d----->%2d\n",i,n,n);break;
            }
            case 'C':
                switch(C)
                {
                case'A':printf("\t[%d]:\t%2d<------------%2d\n",i,n,n);break;
                case'B':printf("\t[%d]:\t%2d<-----%2d\n",i,n,n);break;
                }
    }
    movedisk(n-1,B,A,C);
}
2 回复
#2
草狼2010-10-22 23:44
  movedisk(n-1,A,C,B);
一直调用这函数 怎么让他结束啊, 缺少结束语句
#3
古故谷2010-10-23 23:06
谢谢你,我修改一下试试
1