C语言复习---杨辉三角打印

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define MAX 8

int main()
{
    int a[MAX][MAX] = { 0 };
    for (int i = 0; i < MAX; i++)
    {
        a[i][0] = 1;
        a[i][i] = 1;
        if (i>=2)
            for (int j = 1; j < i; j++)
                a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
    }

    for (int i = 0; i < MAX; i++)
    {
        for (int j = 0; j < MAX; j++)
            if (a[i][j] != 0)
                printf("%5d", a[i][j]);
        printf("\n");
    }
    system("pause");
    return 0;
}

原文地址:https://www.cnblogs.com/ssyfj/p/9390128.html

时间: 2024-10-13 21:19:31

C语言复习---杨辉三角打印的相关文章

用C语言编写杨辉三角

今天给大家带来用C语言在屏幕上输出杨辉三角 杨辉三角: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 思路:主要用到循环和数组的知识,今天就以for循环为例,给大家输出10行的杨辉三角.我们需要定义一个二维数组(a[][]),我们知道数组是从零开始的,所以第一行第一个是a[0][0],通过观察我们发现:第一列所有的数字都是1,即就是a[i][0]=1,i表示任何数字.我们还可以看出,当行数和列数相等时,该位的数字也为1,即就是a[i][i]=1,杨辉三角中间的数字规律是:从第三行开

杨辉三角打印

在屏幕上打印杨辉三角 #include<stdio.h>int main(){ int arr[100][100] = { 0 }; int i = 0; int j = 0; for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { if (j == 0) { arr[i][j] = 1; } if (i == j) { arr[i][j] = 1; } if (i > 1 && j > 0) { ar

【C语言】杨辉三角

#include<stdio.h> int main() { int a[20][20] = { 0 }; int n = 0, i = 0, j = 0; printf("杨辉三角\n\n"); printf("请输入一个自然数:"); scanf_s("%d", &n); for (i = 0; i < n;i++) a[i][0] = 1; for (i = 1; i < n; i++) for (j = 1

Leecode刷题之旅-C语言/python-118杨辉三角

/* * @lc app=leetcode.cn id=118 lang=c * * [118] 杨辉三角 * * https://leetcode-cn.com/problems/pascals-triangle/description/ * * algorithms * Easy (60.22%) * Total Accepted: 17.6K * Total Submissions: 29.2K * Testcase Example: '5' * * 给定一个非负整数 numRows,生成

C语言118. 杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]] 下面是我的常规解法:没有用到指针,但是力扣上的返回类型是这样的 :int** generate(int numRows, int* returnSize, int** returnColumnSizes) #include <stdio.h>int mai

C语言打印杨辉三角(2种方法)

杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一.在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1.也就是说任何一个数等于这个是高中的组合数.n代表行数减1,不代表列数减1.如:第五行的第三个数就为=6. 现在我们按第一种思路来写:先定义一个二维数组:a[N][N],略大于要打印的行数.再令两边的数为1,即当每行的第一个数和

Go语言:打印杨辉三角

杨辉三角的样式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 它的特征是,每一行的最左边和最右边的元素都是1,而其它元素等于它上方"肩膀"上的两个元素之和. 使用Go语言打印杨辉三角: package test import ( "fmt" ) //行数 const LINES int = 8 //杨辉三角 func ShowYangHuiTri

C语言打印出 杨辉三角

第三题: #include <stdio.h> #include<stdlib.h> int main() //打印 杨辉三角 { int arr[40][40], t = 0, i = 0, j = 0;  // t:高度 int temp = 0;  //temp就是t,表示高度 printf("请输入要打印的杨辉三角的高度(40以内):"); scanf("%d", &t); for (i = 0; i < t; i++)

C语言用一维数组打印杨辉三角(原:无意中想到)

//求前10行的数 1 int a[11] = { 1 }; 2 a[0] = 1, a[1] = 1; 3 int i, j,m; 4 for (i = 2; i <= 11; i++) //2-11 输出10行 5 { 6 for (j = i - 1; j > 1; j--) //关键在这句,倒着求 7 { 8 a[j] = a[j] + a[j - 1]; 9 printf("%5d", a[j]); 10 } 11 printf("%5d\n"