求教怎么写
#include<stdio.h>
int F[100]; //保存遍历到的数字(即问题的解)
int n; //待拆分的数
//采用DFS的设计思路
void fun(int index,int x,int r){
//index为当前遍历到的位置索引
//x为当前可取的最小值
//r为待拆分的数的剩余值(减去了已经找到的数)
int i;
if(r==0&&index>1){ //剩余值为0,并且遍历的数不少于2个
printf("%d = ",n);
for(i=0;i<index-1;i++){
printf("%d + ",F[i]);
}
printf("%d\n",F[index-1]);
return;
}
for(i=x;i<=r;i++){ //遍历区间【x,r】
F[index]=i;
fun(index+1,i,r-i);
}
}
int main(){
printf("请输入一个数字:");
scanf("%d",&n);
fun(0,1,n);
return 0;
}