#include
#include
#include
#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;
}
/////////////////////////////