输入n(1-10之间数字),将数字分解显示,如6可以显示为6,5+1,4+2,4+1+1.....
#include <stdio.h>
int c[10];
void fun(int n,int m,int index){ //m表示上一个加的数,n表示剩余没加的数之和
int i,j;
if(n==0){
for(i=0;i<index-1;i++){
printf("%d + ",c[i]);
}
printf("%d\n",c[index-1]);
}
for(j=n;j>0;j--){
if(j<=m){
c[index] = j;
fun(n-j,j,index+1);
}
}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
fun(n,n,0);
}
return 0;
}