杨辉三角形
定义宏行和列
改变宏的数值来写几行的杨辉三角形
具体思路是建立数组
第一列全为1
最后一列全为第一列的值
中间列是两者之和
最后空格函数增加美观度
幸福感
#define _CRT_SECURE_NO_WARNINGS 1
#define ROW 10//行数
#define COL 10//列数
#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>
int print_blank(int count)
{
for (int i = count; i > 0; i--)
{
printf(" ");
}
}
int main()//利用数组知识解决杨辉三角形
{
int row;
int col;
int a[ROW][COL];//首先建立一个数组
int count = ROW;
for (row = 0; row < ROW; row++)
{
a[row][0] = 1;//第一列都为1
for (col = 0; col <= row; col++)
{
if (col == 0) //判断是否为第一列,如果是设置为1
a[row][col] = a[0][0];
else if (row >= 1 && col >= 1 && row != col) //判断是否为中间列
a[row][col] = a[row - 1][col] + a[row - 1][col - 1];
else if (col == row) //判断是否为最后列
a[row][col] = a[row - 1][col - 1];
}
}
for (row = 0; row < ROW; row++, count--) //输出杨辉三角
{
print_blank(count);//空格
for (col = 0; col <= row; col++)
{
printf("%-5d", a[row][col]);
}
printf("\n");
}
system("pause");
}