然后修改了一下代码~其实这可以理解成一颗多叉树结构~感觉这样理解会清晰一点~
什么~手机C4竟然不支持数组清零~而且感觉memset清零不完整~那……还是用for循环清零吧~有种无语的感觉~~~~~
程序代码:
#include<stdio.h> #define LEN_MAX 30 void fun(int s[],int len); void Print(int s[],int len); int main() { int k=7; int i=0; int s[LEN_MAX+1]={0}; s[0]=k; for (i=1;i<LEN_MAX;++i) s[i]=0; fun(s,1); return 0; } void Print(int s[],int len) { int i=0; for (i=0;i<len;++i) printf("%-3d",s[i]); puts(""); } void fun(int s[],int len) { int i=0; for (i=s[len]+1;i<=s[len-1]-1;++i) { s[len]=s[len-1]-i; s[len-1]=i; if (s[len-1]<=s[len]&&(len==1||s[len-2]<=s[len-1])) fun(s,len+1); s[len-1]+=s[len]; } Print(s,len); }
什么~手机C4竟然不支持数组清零~而且感觉memset清零不完整~那……还是用for循环清零吧~有种无语的感觉~~~~~
[此贴子已经被作者于2017-6-17 02:39编辑过]
[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]