输出杨辉三角

输出下列图形(空格用_表示)

____*

___***

__*****

_*******

*******

分析

行数   空格数  星星数   一共有多数

一        4         1             5

二        3         3             6

三        2         5             7

四        1         7            8

五        0          9            9总结出规律:空格数为总行数,以后每行依次减小1,星星数为2*i-1;i为行数,总数为两者的和,所以代码为

public class 杨辉三角 {
	public static void main(String[] args) {
		int n=5;//行数
		for(int i=1;i<=n;i++){//i表示行数,为了输出n行,所以i<=n
			for(int j=1;j<=(n-i)+2*i-1;j++){//j表示每个位置要输出的内容(n-i)表示空格数(2*i-1)表示*的数量
				if(j<=(n-i)){//输出n-i个空格
					System.out.print(" ");
				}
				else{//其它的输出*
					System.out.print("*");
				}
			}
			System.out.println();//每一行运行完,换行
		}
	}

}

去掉众多的等号,让程序看起来不那么复杂

public class 杨辉三角 {
	public static void main(String[] args) {
		int n=5;//行数
		for(int i=0;i<n;i++){//i表示行数,为了输出n行,所以i<=n
			for(int j=1;j<(n-i)+2*i+1;j++){//j表示每个位置要输出的内容(n-i)表示空格数(2*i-1)表示*的数量
				if(j<n-i){//输出n-i个空格
					System.out.print(" ");
				}
				else{//其它的输出*
					System.out.print("*");
				}
			}
			System.out.println();//每一行运行完,换行
		}
	}

}
时间: 2024-10-04 07:28:13

输出杨辉三角的相关文章

C语言实现在屏幕上输出杨辉三角

★在屏幕上打印杨辉三角 #include<stdio.h> int main() { int i = 0, j = 0, num = 0,k = 0; printf("请输入要输出的杨辉三角的行数:"); scanf("%d", &num); for (i = 1; i <= num; i++) { k = 1;         //每行须以1开头,所以将K定义在第二层循环之外 for (j = 1; j <= i; j++) { p

Java编程-输出杨辉三角前10行

public class YanghuiTriangle { public static void main(String[] args) { int triangle[][]=new int[10][];// 创建二维数组 // 遍历二维数组的第一层 for (int i = 0; i < triangle.length; i++) { triangle[i]=new int[i+1];// 初始化第二层数组的大小 // 遍历第二层数组 for(int j=0;j<=i;j++){ if(i

java例题_33 等腰输出杨辉三角

1 /*33 [程序 33 杨辉三角] 2 题目:打印出杨辉三角形(要求打印出 10 行如下图) 3 程序分析: 4 1 5 1 1 6 1 2 1 7 1 3 3 1 8 1 4 6 4 1 9 1 5 10 10 5 1 10 */ 11 12 /*分析: 13 * ====================== 14 * 杨辉三角特点: 15 * 1.每个数等于它上方两数之和. 16 * 2.每行数字左右对称,由1开始逐渐变大. 17 * 3.第n行的数字有n项. 18 * ========

c实现任意行输出杨辉三角

#include<stdio.h> #include<stdlib.h> int** fmalloc(int n){ int** array; int i; array = (int** )malloc(sizeof(int*) * n); for(i=0; i<n; ++i){ array[i] = (int*)malloc(sizeof(int*) * (i+1)); } return array; } int main() { int n; int i,j; print

输出杨辉三角(C++和 JAVA版 )

C++版本: #include <iostream> using namespace std; void main() { int n=10; while(n!=-1) { cout<<"请输入 杨辉三角 行数:"; cin>>n; int **a = new int* [n]; for(int m = 0; m < n; m++) { a[m] = new int [n]; } for(int i=0;i<n;i++) { for(in

利用yield关键字输出杨辉三角

最近学习了下python,发现里面也有yield的用法,本来对C#里的yield不甚了解,但是通过学习python,对于C#的yield理解更深了!! 不多说了,小学生水平的表达能力伤不起.... 直接上代码: using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 {

用一维数组输出杨辉三角

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

编写程序输出杨辉三角

#include<stdio.h> int main() {    int i,j;    int a[100][100];    int row;    printf("row=");    scanf("%d",&row);    for(i=1;i<=100;i++)    {       a[i][0]=1;       a[i][i]=1;    }    for(i=2;i<=100;i++)    {       for

Js中,刚学完二维数组和函数,输出杨辉三角

var a= Array(5);for ( var i= 0;i<a.length;i++){ a[i]=Array(i+1); a[i][0]=1; for(var j=0;j<a[i].length;j++) { if(i==j) { a[i][j]=1 } else{ if((i-1)>=0&&(j-1)>=0) { a[i][j]=a[i-1][j-1]+a[i-1][j];} } } }; for(var i in a){ for(var j in a[i