------------------------------------------------------------------------------------------------------
打印出杨辉三角,可以根据它其中的一条性质来作为思想的入口:第i行的第j个数等于第i-1行的第j-1位加上第j位数,即a[i][j]=a[i-1][j-1]+a[i-1][j]。
------------------------------------------------------------------------------------------------------
C语言代码如下:
# include <stdio.h> # include <stdlib.h> # include <string.h> int main() { int arr[10][10]={{1}}; int line, row,space; for (line = 0; line < 10; line++) { for (row = 0; row <=line; row++) { if (line < 2) //前两行为1 { arr[line][row] = arr[0][0]; } else if (row == 0 || row == line) //首尾元素为1 { arr[line][row] = arr[0][0]; } else //利用性质赋值 { arr[line][row] = (arr[line - 1][row - 1] + arr[line - 1][row]); } } } for (line = 0; line < 10; line++) //输出 { for (row = 0; row <= line; row++) { printf("%3d ", arr[line][row]); } printf("\n"); } system("pause"); return 0; }
----------------------------------------------------------------------------------------
干货小知识: 1.有符号值的右移位操作是不可移植的。
2.移位操作的值不能为负值。
3.表达式的求值顺序 一部分是由它所包含的操作符的优先级和结合性决定,(优先级
大于结合性);同样,有些表达式的操作数在求值过程中可能需要转换为其他类型,
(“隐式类型转换”和“算术转换”)。
----------------------------------------------------------------------------------------
时间: 2024-10-09 23:17:12