0
点赞
收藏
分享

微信扫一扫

C语言 杨辉三角——独立完成

Java架构领域 2022-02-09 阅读 98
c语言

文章目录

前言

我们把杨辉三角变换成类似数学坐标系一样的图像。这样就可以拿数组来保存数据。
在这里插入图片描述

一、初始化

1.头文件表示

#define ROW 200
#define COL 200

2.定义一个二维数组

    int a[ROW][COL] ={0};

二、定义需要的行数

    int lands=0;
	printf("打印行数:>");
	scanf("%d",&lands);
	//后面的打印数组,需要从新的一行开始
	printf("\n");

三、设计函数

1.定义每列最后一个和第一个赋值1

主函数

	Start_End(a,lands);

函数

void Start_End(int a[ROW][COL],int lands)
{
	int y,x; 
	for(y=1;y<=lands;y++)
	{
		for(x=1;x<=y;x++)
		{
			if( x==1 || y==x)
			{
				a[y][x]=1;
			} 
			
		}
	}
}

2.中间的赋值

主函数

	Midlle(a,lands);

函数

void Midlle(int a[ROW][COL],int lands)
{
	int y,x; 
	for(y=3;y<=lands;y++)
	{
		for(x=1;x<y-1;x++)
		{
			a[y][x+1]=a[y-1][x]+a[y-1][x+1];
		}
	}
}

3.打印数组,得到杨辉三角图形

主函数

	print(a,lands) ;

函数

void print(int a[ROW][COL],int lands)
{
	int y,x; 
	for(y=1;y<=lands;y++)
	{
		for(x=1;x<=y;x++)
		{
			printf("%4d ",a[y][x]);
			
		}
		printf("\n");
	}
}

总结

不是三角形啊!怎么弄的??


先赞后看,养成习惯!!! ^ _ ^ ❤️ ❤️ ❤️
代码

#include<stdio.h>
#define ROW 200
#define COL 200

void Start_End(int a[ROW][COL],int lands);
void Midlle(int a[ROW][COL],int lands);
void print(int a[ROW][COL],int lands);

int main()
{
	//初始化 
	int a[ROW][COL] ={0};
	//设置多少行
	int lands=0;
	printf("打印行数:>");
	scanf("%d",&lands);
	
	printf("\n");
	
	//定义每列最后一个和第一个赋值1 
	Start_End(a,lands);
	
	//中间的赋值
	Midlle(a,lands);
	
	//打印数组
	print(a,lands) ;
	
	return 0;
}
void Start_End(int a[ROW][COL],int lands)
{
	int y,x; 
	for(y=1;y<=lands;y++)
	{
		for(x=1;x<=y;x++)
		{
			if( x==1 || y==x)
			{
				a[y][x]=1;
			} 
			
		}
	}
}
void Midlle(int a[ROW][COL],int lands)
{
	int y,x; 
	for(y=3;y<=lands;y++)
	{
		for(x=1;x<y-1;x++)
		{
			a[y][x+1]=a[y-1][x]+a[y-1][x+1];
			
		}
	}
}
void print(int a[ROW][COL],int lands)
{
	int y,x; 
	for(y=1;y<=lands;y++)
	{
		for(x=1;x<=y;x++)
		{
			printf("%4d ",a[y][x]);
			
		}
		printf("\n");
	}
}

码字不易,大家的坚持就是我坚持下的动力,点赞后,不要忘记关注我哦!

举报

相关推荐

0 条评论