该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#define MAX_STEPS 6
FILE *fp;
int Steps[MAX_STEPS]={0};
int cnt=0;
void Upstairs(int footStep,int count,int steps)
{
int i;
if(count+footStep==MAX_STEPS)
{Steps[steps]=footStep;
for(i=0;i<=steps;i++)
printf("%d ",Steps[i]);
fwrite(Steps,sizeof(Steps),1,fp);
fflush(fp);
printf("\n");
cnt++;
return;
}
if(count+footStep>MAX_STEPS)
{return;}
Steps[steps]=footStep;
count+=footStep;
steps++;
for(i=1;i<=MAX_STEPS;i++)
Upstairs(i,count,steps);
}
void Upstairs_All()
{int i;
for(i=1;i<=MAX_STEPS;i++)
Upstairs(i,0,0);
}
void main()
{int a[MAX_STEPS],i;
if((fp=fopen("data.txt","wb+"))==NULL)
{
printf("can not open\n");
exit(0);
}
Upstairs_All();
printf("走法:%d\n",cnt);
rewind(fp);
for(i=0;i
{fread(a,sizeof(a),1,fp);
for(int j=0;j
printf("%d ",a[i]);
printf("\n");
}
fclose(fp);
}