vlambda博客
学习文章列表

C语言实例第04期,在控制台打印出著名的杨辉三角

技术干货第一时间送达!

往期回顾:




实例代码

//
// Created by 冲哥 on 2020/9/9.
//

#include "stdio.h"

int main(){
    int a[8][8]={0};//初始化数组(本实例打印8行)
    for (int i = 0; i < 8; i++) {//for循环定义每行的第一个数和对角线上的数,数值为1
        a[i][i] = 1;
        a[i][0] = 1;
    }
    for (int k = 2; k < 8; k++) {
        for (int j = 1; j < k; j++) {//用两个for循环实现除对角线和每行第一个元素外其他元素的赋值
            a[k][j] = a[k-1][j-1] + a[k-1][j];
        }
    }
    for (int i = 0; i < 8; i++) {
        for (int j = 0; j <= i; j++) {//两个for循环将数组a中的所有元素输出
            printf("%d\t", a[i][j]);
        }
        printf("\n");
    }
}

运行结果:

C语言实例第04期,在控制台打印出著名的杨辉三角

程序分析

首先要分析杨辉三角的特点,找出规律:

处理每行第一个数和对角线上的数都是1意外,其它的数就是前一行相邻的两数之和。找到这个规律,就可以很轻松的用for循环实现了。

往期精选


点个在看再走吧