| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 617 人关注过本帖
标题:[求助]请高手出手吧!觅高手,快请进!快请进吧!
只看楼主 加入收藏
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
收藏
 问题点数:0 回复次数:6 
[求助]请高手出手吧!觅高手,快请进!快请进吧!
幂问题,求助!

写程序求 Xn(x的n次方)我的程序如下:但不成功为何

#include<stdio.h> power(int x,int n) { int m; if(n==1) return x; for(m=1;m<=n-1;++m) return power(x,m)*x; /*就是power(x,m)乘以x ,不知你看清楚了吗*/ } main() { int x,n; scanf("%d%d",&x,&n) ; printf("This number=%d",power(x,n)); getch(); }

我是用win-tc软件,不是TurboC的,只能正确算n=2的值,当n>2时,其值都与n=2相同,为何?

搜索更多相关主题的帖子: include power return number color 
2004-12-24 09:31
pinna
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2004-12-17
收藏
得分:0 
把for循环的++m改成m++试试!
2004-12-24 10:03
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
收藏
得分:0 
return power(x,m)*x; 有人这样返回值的吗?

2004-12-24 10:17
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
收藏
得分:0 
[QUOTE][QUOTE]

把++m改成m++,问题还是存在的,不知有何高见!

另:aniude是否能把有问题的句子改一下,谢谢!另请问“return power(x,m)*x; 有人这样返回值的吗?”

[/QUOTE] return 的正确引用方法是什么回事,谢谢各位的帮助!
2004-12-24 10:43
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

1。返回值没有问题。

#include<stdio.h>

long power(int x,int n) { int m; if(n==1) return x; for(m=n-1;m>=1;m++) return power(x,m)*x; /*就是power(x,m)乘以x ,不知你看清楚了吗*/ } void main() { int x,n; scanf("%d%d",&x,&n) ; printf("This number=%d",power(x,n));

}

现在可以了

请不要重复发帖。


2004-12-24 10:44
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
收藏
得分:0 

知道了,我下次不会再重复发帖了。另能否给我详细解释 for(m=n-1;m>=1;m++) 及 return power(x,m)*x  为何我原先写的行不通了,再次谢谢!

2004-12-24 12:13
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

其实,这样改不好,for()循环没有用,若用递归,应该是

long power(int x,int n) { int m; if(n==1) return x;

else

return power(x,n-1)*x; }

有人已经给你讲过了,讲的很好。


2004-12-26 16:35
快速回复:[求助]请高手出手吧!觅高手,快请进!快请进吧!
数据加载中...
 
   



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

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