我使用的是递归法
#include<stdio.h> int y(int k, int l) { if (l == 0 || k == l) return 1; else return y(k - 1, l) + y(k - 1, l - 1); } int main() { int i, m, j; printf("输入要打印的行数"); scanf("%d", &m); for (i = 0; i < m; i++) { for (j = 0; j < m - i; j++) { printf(" "); } for (j = 0; j <= i; j++) { printf("%d ", y(i, j)); } printf("\n"); } return 0; }