void printYangHuiOuShuHang(){ // 定义一个二维数组,用于存储数值 int num[6][11] = {0}; // for双层循环控制行数和列数 for (int i = 0; i < 6; i++) { for (int j = 0; j < 6+i; j++) { // 当j(列数) > 4-i(行数)时开始打印杨辉三角形 if (j > 4-i ) { if (1 == j%2 && 1 == i%2) { //奇数行奇数列时打印空格 printf("\t"); }else if(0 == j%2 && 0 == i%2){ //偶数行偶数列时打印空格 printf("\t"); }else if (j == i+5) { //将数字‘1’赋值给杨辉三角形最后一个数的相对应的数组元素,并打印此数组元素 num[j] = 1; printf("%d",num[j]); }else{ //给剩余的杨辉三角形的数赋值,并打印 num[j] = num[i-1][j-1] + num[i-1][j+1]; printf("%d\t",num[j]); } }else{ //在整个图形的左侧打印一个由空格组成的直角倒三角形 printf("\t"); } } printf("\n"); } }
|