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

[求助]我的这个程序哪里出问题了,请大家给看看吧,俺刚刚接触C++!

liujun850215 发布于 2007-04-10 16:07, 579 次点击

#include<iostream.h>
int power(int a,int n)
void main()
{int a,n;
cout<<"please input a and n:"<<endl;
cin>>a>>n;
cout<<endl;
cout<<power(a,n);}
int power(int a,int n)
{if(n==1) return a;
else if(n>1) return a*power(a,n-1);}
这是求一个数A的N次方,用的函数递归调用!

9 回复
#2
spring1232007-04-10 16:13
int power(int a,int n)
少了一个分号
#3
spring1232007-04-10 16:13
函数声明应加分号
#4
kisscjy2007-04-10 16:16
函数声明少了一个分号~~~
#5
liujun8502152007-04-10 16:55

我加上分号了,可还是说有错误,请指明!

#6
liujun8502152007-04-10 17:03
#include<iostream.h>
int power(int a,int n);
void main()
{int a,n,s;
cout<<"please input a and n:";
cin>>a;
cin>>n;
cout<<endl;
cout<<power(a,n);}
int power(int a,int n)
{if(n==1) return a;
else if(n>1) return a*power(a,n-1);}
我把程序改成这个样子了,说是没错误了,但运行一下,什么也不出呀!这是怎么会事,晕了!
#7
aipb20072007-04-10 19:52
两个求a的n次方,一个直接用循环,一个用递归
int pow(int a,int n){
int result = 1;
for (int i = 1;i <= n;++i)
result *= a;
return result;
}


int pow_recur(int a,int n){
if (n > 0)
return a * pow_recur(a,--n);
else
return 1;
}
#8
布拉莫斯2007-04-11 23:08
回复:(liujun850215)#includein...

你的错误很简单,也有点低级.........
看吧..........

#include<iostream.h>
int power(int a,int n);
void main()
{int a,n,s;
cout<<"please input a and n:";
cin>>a;
cin>>n;
cout<<endl;
cout<<power(a,n);}
int power(int a,int n)
{if(n==1) return a;
else /*if(n>1)*/ return a*power(a,n-1);}

if 与 else 记住要配对啊 
像你那样,最后一个if 就无法配对了.........

#9
chz842007-04-14 20:51
int power(int a,int n) 少了分号。
希望以后注意,初学时,最重要的就是基础。
否则,编程不容易学好的。
#10
边城路人2007-04-14 21:34
基础要扎实,才能走的远
1