| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4858 人关注过本帖
标题:初学c语言,花两天编了一个程序,可是不能运行出想要的结果
只看楼主 加入收藏
xxxc
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-12-25
收藏
 问题点数:0 回复次数:0 
初学c语言,花两天编了一个程序,可是不能运行出想要的结果
题目:输入盘子数n(n>=2),演示汉诺塔的移动过程,要求:
(1)盘子A,B,C 柱使用字符来绘制,初始时盘子在A 柱上,通过B 柱最终移
动到C 柱上
(2)显示出盘子在几个柱之间的移动过程。
我编的程序:
#include<stdio.h>
#define N 5
void main()
{
    void move(int p,int q);
    void daxiao(int n);
    void kong(int n);
    int n=N,p=1,q=0,i;
    daxiao(n);
    printf("A\n");
    kong(n);
    printf("B\n");
    kong(n);
    printf("C\n");
    for(i=2^N-1;i<=1;i--)
    {
        move(p,q);
        p++;
    }
}
void move(int p,int q)
{   
    int n;
    void yige(int n);
    void daxiao(int n);
    void kong(int n);
    void half(int m,int n);
    if(p%2==0)
    {
        p++;
        n--;
    }
    else
    {
        p=p;
        n=n;
    }
    while(p%2!=0&&q%2==0)
    {
        yige(n);
        printf("A\n");
        daxiao(n-1);
        printf("B\n");
        half(n+1-q,N);
        printf("C\n");
    }
    while(p%2==0&&q%2!=0)
    {
        kong(n);
        printf("A\n");
        daxiao(n-1);
        printf("B\n");
        half(n+1-q,N);
    }
    while(p%2!=0&&q%2!=0)
    {
        daxiao(n-2);
        printf("A\n");
        yige(n-1);
        printf("B\n");
        half(n+1-q,N);
    }
    while(p%2==0&&q%2==0)
    {
        daxiao(n-2);
        printf("A\n");
        kong(N);
        printf("B\n");
        half(n+1-q,N);
    }
}
void daxiao(int n)
{
    int i,j;
    for(i=1;i<=n;i++)
    {
        printf("|");
        for(j=1;j<=i;j++)
            printf("__");
        printf("|");
        printf("\n");
    }
}
void kong(int n)
{
    int i;
    for(i=1;i<=n;i++)
        printf("\n");
    printf("\n");
}
void yige(int n)
{
    int i;
    printf("|");
    for(i=1;i<=n;i++)
        printf("__");
    printf("|");
    printf("\n");
}
void half(int m,int n)
{
    int i,j;
    for(i=m;i<=n;i++)
    {
        printf("|");
        for(j=1;j<=i;j++)
            printf("__");
        printf("|");
        printf("\n");
    }
}
我的思路真的很混乱,可是我也不知道该怎么写
搜索更多相关主题的帖子: include daxiao c语言 
2013-12-25 18:13
快速回复:初学c语言,花两天编了一个程序,可是不能运行出想要的结果
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013952 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved