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",a[0]);
12     }

本来是a[j]=a[j]+a[j-1]

结果发现计算a[j+1]时,不行了,就想到了倒着来求,正好杨辉三角也是左右对称的,结果输出的意思是左右数颠倒的,然而左右对称,所以可行

//关键在这一句,倒着求,利用杨辉三角的对称性
时间: 2024-08-25 20:42:44

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

一维数组求杨辉三角

问题: 编写程序,根据输入的正整数n(1<=n<=12),输出相应的杨辉三角图案,例如,当n=5时,将输出: 1  1 1                                                     1 2 1                                                   1 3 3 1                                                  1 4 6 4 1             

一维数组实现杨辉三角

杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 43411    Accepted Submission(s): 18254 Problem Description 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5

二维数组打印杨辉三角

一共搞了三个版本~虽然核心算法是一样的,但是我说是三个就是三个!!! 一.普通版 let readline=require("readline-sync"); console.log("请输入杨辉三角的行数:"); let line = parseInt(readline.question("")); let arr=[[1],[1,1]]; for(let i=2;i<line;i++){ arr[i]=[]; for(let j=0;j

实验四:用一维数组实现杨辉三角

源代码: package yanghui; public class sanjiao{public static void main(String[]args){ int i=1; int a[]=new int[8]; for(i=0;i<8;i++){ a[i]=1; for(int j=i-1;j>0;j--){ a[j]=a[j-1]+a[j]; } for(int j=0;j<=i;j++) { System.out.print(" "+a[j]); } S

用一维数组输出杨辉三角

总结心得: 在刚开始编程过程中,对一位数组的使用不是太过熟练,在复习以前知识和过问同学渐渐掌握了,在编写过程中如何输出等腰的三角形遇到了问题,在过问同学后也掌握了,总而言之,此次实验受益匪浅. 原文地址:https://www.cnblogs.com/myb1128/p/10633942.html

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

数组-02. 打印杨辉三角(20)

1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 int main(){ 5 int a[10][10]; 6 int i,j,n; 7 cin>>n; 8 for(i=0;i<n;++i){ 9 a[i][0]=1; 10 a[i][i]=1; 11 } 12 for(i=2;i<n;++i) 13 for(j=1;j<i;j++) 14 a[i][j]=a[i-1][

数组-02. 打印杨辉三角

1 /* 2 * Main.c 3 * E2-数组-02. 打印杨辉三角 4 * Created on: 2014年8月20日 5 * Author: Boomkeeper 6 ********测试通过***** 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 int pascalTriangle[10][10]; 14 int N;//题目中的N 15 16 scanf("%d",&N); 17 //