打印十行杨辉三角

------------------------------------------------------------------------------------------------------

打印出杨辉三角,可以根据它其中的一条性质来作为思想的入口:第i行的第j个数等于第i-1行的第j-1位加上第j位数,即a[i][j]=a[i-1][j-1]+a[i-1][j]。

------------------------------------------------------------------------------------------------------

C语言代码如下:

# include <stdio.h>
# include <stdlib.h>
# include <string.h>

int main()
{
     int arr[10][10]={{1}};
     int line, row,space;
     for (line = 0; line < 10; line++)
     {
          for (row = 0; row <=line; row++)
          {
               if (line < 2)                            //前两行为1
               {
                    arr[line][row] = arr[0][0];
               }
               else if (row == 0 || row == line)        //首尾元素为1
               {
                    arr[line][row] = arr[0][0];
               }
               else                                     //利用性质赋值
               {
                    arr[line][row] = (arr[line - 1][row - 1] + arr[line - 1][row]);
               }
           }
     }
     
     for (line = 0; line < 10; line++)              //输出
     {
          for (row = 0; row <= line; row++)
          {
               printf("%3d ", arr[line][row]);
          }
      printf("\n");
 }
 
     system("pause");
     return 0;
}

----------------------------------------------------------------------------------------

干货小知识: 1.有符号值的右移位操作是不可移植的。

2.移位操作的值不能为负值。

3.表达式的求值顺序 一部分是由它所包含的操作符的优先级和结合性决定,(优先级

大于结合性);同样,有些表达式的操作数在求值过程中可能需要转换为其他类型,

(“隐式类型转换”和“算术转换”)。

----------------------------------------------------------------------------------------

时间: 2024-10-09 23:17:12

打印十行杨辉三角的相关文章

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++)

用二维数组打印出杨辉三角

用二维数组打印出杨辉三角 首先你得知道二位数组和熟练二位数组,再次你得知道杨辉三角的规律! 相信能知道这个的,你已经掉了半只脚在这个坑了,不说废话直接上... 针对Javascript掌握基础的: 在电脑输入cmd命令打开控制器先要创建node'.js的环境: 你得把这个文件夹和你的js文件放在一起! js代码如下: 1 let readline = require("readline-sync"); 2 console.log("请输入杨辉三角的行数:"); 3

打印一个杨辉三角

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.每排的首尾都是1 2.第几排就有几个数 3.中间的数的值,是上面一排的正上方的数 + 前面一个数 function san ($num) { $array = array();// 二维数组来存放所有的值 for($i = 0; $i < $num; $i ++) { // 确定有几行 f

java打印等腰杨辉三角

//打印等腰杨辉三角形 public class YHTriangle { public static void main(String[] args) { //定义二维数组的长度 int length = 10; //声明二维数组 int[][] arr = new int[length][]; //遍历二维数组 for(int i = 0; i < arr.length; i++){ //打印空格 for(int m = 0; m < arr.length - 1 - i; m++){ S

利用Python的generator打印出杨辉三角

>>> def Pascal_triangle(n=10): L=[1] while n>0: yield L L=[x+y for x,y in zip([0]+L,L+[0])] n-=1 >>> for t in Pascal_triangle(): print(t) [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]

使用脚本打印杨辉三角

杨辉三角,是二项式系数在三角形中的一种几何排列. 使用shell 和python 打印杨辉三角,比较差异 shell: [email protected]:~# cat triangles.sh #!/bin/bash # Author: xieshengsen # 打印数学杨辉三角 if (test -z $1) ; then read -p "Input Max Lines:" Max else Max=$1 fi i=1 while [ $i -le $Max ] do j=1

C++杨辉三角完美打印输出

//杨辉三角 //编程:要求输入一个正整数,打印除杨辉三角,如输入5, //则输出 // 1 // 1 1 // 1 2 1 // 1 3 3 1 //1 4 6 4 1 #include <iostream> #include <deque> using namespace std; void Grial(int n) { int b[(1+n)*n/2]; //构造一个一维数组,为什么不构造二维数组呢?二维数组会浪费很多空间,有一半都用不上, //所以我选择1维数组来保存数字.

杨辉三角,整数转为字符

可输入打印行数且美观的杨辉三角 将整数转换为字符串(考虑正负数) /*#include<stdio.h> int main() {  int i,j,line,data;  int arr[100][100]={0};  printf("请输入你要打印的杨辉三角行数\n");     scanf("%d",&line);  for(i=0;i<line;i++)  {   arr[i][0]=1;      arr[i][i]=1;  }

世上最low 杨辉三角

1 ''' 2 计算杨辉三角 3 第n行有n项,n是正整数 4 第n行数字之和为2**(n-1) 5 只要求打印出杨辉三角的数字即可 6 ''' 7 n = 10 8 a = [0,1,0] 9 b = [] 10 print(' ' + str(a[1]).center(25)) # 居中 11 for i in range(1,n): 12 for j in range((i+1)): 13 m = a[j] + a[j+1] # 前一项 加后一项,赋值给下一行 14 b.append(m)