【程序】
//a ABC of tree——output by "up->down&&right->left"
#include<stdio.h>
#define N 100
int count;//计数
void fun(int *a,int i)
{
printf("%-5d ",a[i]);
count++;//统计已经输出数据的个数
if(count%10==0) printf("\n");//换行
if(i*2+2<N) fun(a,i*2+2);
else return ;
if(i*2+1<N) fun(a,i*2+1);
else return ;
}
int main()
{
int a[N];
int i;
count=0;
for(i=0;i<N;i++)
a[i]=i+1;
fun(a,0);
if(N%2==0) printf("%d",a[N-1]);//偶数个的时候最后一个函数里出不来,求解啊???
count++;
if(count%10==0) printf("\n");
if(N%10!=0) printf("\n");//最后一个函数里没有换行的话,要换行
return 0;
}
【运行】