| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 654 人关注过本帖
标题:我的递归程序错那里了,郁闷
只看楼主 加入收藏
pig
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2004-12-26
收藏
 问题点数:0 回复次数:3 
我的递归程序错那里了,郁闷

#include'stdio.h' void jiecheng(int n,int a[],int b[]) {int s,f; if(n>2) jiecheng(n-1,a,b); else {

for(s=0;s<64;++s) b[s]=a[s]; for(s=1;s<n;s++) { for(f=0;f<64;f++) { a[f]=a[f]+b[f]; if(a[f]>9) {a[f+1]=a[f+1]+1; a[f]=a[f]%10; } } } }

} main(){ int a[64]; int b[64]; int i; for(i=0;i<64;++i) a[i]=0; a[0]=1; jiecheng(1,a,b); for(i=63;i>=0;i--) printf("%d",a[i]); printf(" \n"); jiecheng(2,a,b); for(i=63;i>=0;i--) printf("%d",a[i]); printf(" \n"); jiecheng(3,a,b); for(i=63;i>=0;i--) printf("%d",a[i]); printf(" \n"); jiecheng(4,a,b); for(i=63;i>=0;i--) printf("%d",a[i]); printf(" \n"); jiecheng(5,a,b); for(i=63;i>=0;i--) printf("%d",a[i]); printf(" \n"); jiecheng(6,a,b); for(i=63;i>=0;i--) printf("%d",a[i]); printf(" \n"); printf("1 2 6 24 120 720"); }

搜索更多相关主题的帖子: int 递归 jiecheng void 
2004-12-26 17:00
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

#include "stdio.h" void jiecheng(int n,int a[]) { int s,sign,sum; sign=0; for(s=0;s<64;s++) { sum=n*a[s]+sign; a[s]=sum%10; sign=sum/10; } }

void main(){ int a[64]; int i; for(i=0;i<64;++i) a[i]=0; a[0]=1; for(int j=1;j<7;j++) { jiecheng(j,a); for(i=63;i>=0;i--) printf("%d",a[i]); printf("\n"); } } 我改了一下,没有用递归,可以运行,结果正确。你要做的主要是利用数组来存储数字,可以计算较大数据的阶乘,是吗?


2004-12-27 15:42
pig
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2004-12-26
收藏
得分:0 
是呀,可是老师要求用递归,并且要用数组加法算
2004-12-28 10:13
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
收藏
得分:0 
你的程序乱了一点,我这里运行是没错的,不太明白你的意思

2004-12-28 10:49
快速回复:我的递归程序错那里了,郁闷
数据加载中...
 
   



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

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