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;
	printf("请输入杨辉三角的行数:");
	scanf("%d",&n);
	int** array = fmalloc(n);
	for(i = 0; i<n; ++i){
		for(j=0; j<=i; ++j){
			if(i==0 || i==1) array[i][j]=1;
			else if(j == 0 || j==i) array[i][j] = 1;
			else
				array[i][j] = array[i-1][j-1] + array[i-1][j];
		}
	}
        for(i = 0; i<n; ++i){
		printf("\n");
                for(j=0; j<=i; ++j){
                        printf("%d\t",array[i][j]);
                }
        }
	printf("\n");

	for(i=0; i<n; ++i){
		free(array[i]);
	}
	free(array);
	return 0;
}
时间: 2024-10-13 20:46:22

c实现任意行输出杨辉三角的相关文章

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

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

输出杨辉三角

输出下列图形(空格用_表示) ____* ___*** __***** _******* ******* 分析 行数   空格数  星星数   一共有多数 一        4         1             5 二        3         3             6 三        2         5             7 四        1         7            8 五        0          9           

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++和 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 {

编程输出杨辉三角的前10行---多维数组的应用---java实现

import java.util.Scanner;public class yanghui{ public static void main(String[] args){  Scanner sc=new Scanner(System.in);  System.out.println("\nPlease enter the number of Yang Hui triangle rows:");  int n=sc.nextInt();  int [][]a=new int [n][]

用一维数组输出杨辉三角

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

使用二维数组打印10行的杨辉三角

提示: 1.第1行有1个元素,第n行有n个元素: 2.每一行的第一个元素和最后一个元素都是1: 3.从第三行开始,对于非第一个元素和最后一个元素的元素,即 yanghui[i][j] = yanghui[i-1][j] + yanghui[i-1][j-1]; public class YangHuiTriangle { public static void main(String[] args) { //1.创建并初始化数组 int[][] yanghui = new int[10][]; /