杨辉三角形详解

杨辉三角形
定义宏行和列
改变宏的数值来写几行的杨辉三角形
具体思路是建立数组
第一列全为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");
}

猜你喜欢

转载自blog.csdn.net/weixin_43914278/article/details/89079050
今日推荐