首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求分析,代码是否完整。解决方案

2012-05-30 
求分析,代码是否完整。。#include hanoi.h#include math.h void main(){hanoi(3, A,B,C)}void ha

求分析,代码是否完整。。
#include "hanoi.h"
#include <math.h> void main(){ 
hanoi(3, 'A','B','C');

void hanoi(int n, char a, char b, char c);
double mylog(int n);
void move(char a, char b);
void move(char a, char b){
printf("%c--->%c\n", a, b);
}
void hanoi(int n, char a, char b, char c){
if(n>0){ if(n == 1)
move(a, b);
else
{
hanoi(n-1, a, c, b);
move(a, b);
hanoi(n-1, c, b, a);
}
} }




[解决办法]
代码是完整的,“#include "hanoi.h"”可以注掉,没有用到未申明的函数。
不过格式太乱了,替你整理了一下,可以运行
 


C/C++ code
//#include "hanoi.h"#include <math.h>void hanoi(int n, char a, char b, char c);double mylog(int n);void move(char a, char b);void main(){      hanoi(3, 'A','B','C');}  void move(char a, char b){    printf("%c--->%c\n", a, b);}void hanoi(int n, char a, char b, char c){    if(n>0)    {        if(n == 1)            move(a, b);        else        {            hanoi(n-1, a, c, b);            move(a, b);            hanoi(n-1, c, b, a);        }    } }
[解决办法]
楼上强大。
申明了double mylog(int n);却没有定义。虽然你的程序好像没有用到这个函数
[解决办法]
C/C++ code
//#include "hanoi.h"#include <stdio.h>#include <math.h>void hanoi(int n, char a, char b, char c);//double mylog(int n);void move(char a, char b);void main(){    hanoi(4, 'A','B','C');}void move(char a, char b){    printf("%c--->%c\n", a, b);}void hanoi(int n, char a, char b, char c){    if(n>0)    {        if(n == 1)            move(a, b);        else        {            hanoi(n-1, a, c, b);            move(a, b);            hanoi(n-1, c, b, a);        }    }}    double mylog(int n)//log(n!) 1)递归的终止条件 2)递归公式    {        if(n >= 0)        {            if(n == 0 )//1)递归的终止条件            return 0;            else//2)递归公式            return log10(n)+mylog(n-1);        }    } 

热点排行