整数拆分问题(用堆栈方法) 谢谢

qq_41703984 qq_41703984 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_INTEGER 20

/*
整数拆分:输入一个1--20之间的整数,将其拆分成多个整数的和
例如:
5 = 1 + 1 + 1 + 1 + 1
5 = 2 + 1 + 1 + 1
5 = 2 + 2 + 1
5 = 3 + 1 + 1
5 = 3 + 2
5 = 4 + 1
5 = 5
*/
int main()
{
//整数拆分时需要用到的堆栈
int sumStack[MAX_INTEGER]; //各个加数的和的堆栈
int numStack[MAX_INTEGER]; //各个加数的堆栈
int top; //栈顶
int nn;
int ii;

while ( 1==1 )
{
for ( ii=0; ii<MAX_INTEGER; ii++ )
{
sumStack[ii]=0;
numStack[ii]=0;
}
top=0;
nn=0;
printf("nn = ");
scanf("%d", &nn);
if ( (nn<1) || (nn>MAX_INTEGER) )
return 1;

//缺失的代码





printf("end\n");
}
return 0;
}

/////////////////////////////


...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
qq_41703984
C语言 70,039 成员 243,237 内容