通常使用在实现杨辉三角时使用的时使用二维数组的方式,这种方式比较快捷,且比较好理解,但是使用二维数组浪费了大量的空间,又大概一般的空间未被使用。如果使用一维数组进行计算能大大提高空间利用率。
首先我们定义一个函数用来计算任意行数杨辉三角需要使用到的数组长度。并且可以通过这个函数能够找到上一行杨辉三角的起始位置。
#includeint len(int); int main(void){ int floor; int length; int index_top_begin,index_pre_begin; printf("输入要打印多少层:"); scanf("%d",&floor); if(floor<0){ printf("输入错误n"); return 0; } length=len(floor); printf("申请长度:%dn",length); int num[length]; //通过计算出的长度申请数组 for(int i=0;i 在打印时也对每行需要空出来的长度做了处理,尽量保证打印出来的是一个三角形



