欢迎来到天天文库
浏览记录
ID:44719148
大小:18.00 KB
页数:3页
时间:2019-10-26
《分段函数的递归算法和非递归算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//非递归#include#include#include#include#defineStackSize100typedefintStackData;structstack{intm;intn;};structstackS[StackSize];inttop;//菜单voidMenu(){printf("");printf("[菜单]");printf("
2、-------------------------
3、");printf("
4、1、非递归
5、");printf("
6、
7、");printf(
8、"
9、2、递归
10、");printf("
11、
12、");printf("
13、3、退出
14、");printf("
15、-------------------------
16、");printf("");printf("请选择菜单项:");}//递归intAKM(intm,intn){intakm,k;if(m==0){akm=n+1;}elseif(n==0){akm=AKM(m-1,1);}else{k=AKM(m,n-1);akm=AKM(m-1,k);}returnakm;}//非递归函数intAkm(intm,intn){inttop=0;intakm;S[top].m=m;S[t
17、op].n=n;while(top!=0
18、
19、S[top].m!=0){while(S[top].m){while(S[top].n){top++;S[top].m=S[top-1].m;S[top].n=S[top-1].n-1;}S[top].m--;S[top].n=1;}if(top>0){top--;S[top].m--;S[top].n=S[top+1].n+1;}}akm=S[top].n+1;top--;returnakm;}//主函数intmain(){intm,n,akm;charj;while(1){system("cls");Menu();getch();syst
20、em("cls");j=getch();switch(j){case'1':printf("请输入两个正整数,用逗号隔开:");scanf("%d,%d",&m,&n);akm=Akm(m,n);printf("akm=%d",akm);system("pause");printf("");break;case'2':printf("请输入两个正整数,用逗号隔开:");scanf("%d,%d",&m,&n);akm=AKM(m,n);printf("akm=%d",akm);system("pause");printf("");case'3':exit(1);br
21、eak;default:printf("您输入的菜单项不存在,请重新输入!");break;}}}
此文档下载收益归作者所有