直角杨辉三角形(C)

直角杨辉三角形


#include<stdio.h>
#define N 10
int main()
{
	int i,j,a[N][N];
	for(i=0;i<N;i++)
		a[i][i]=a[i][0]=1;
		
	for(i=2;i<N;i++)
		for(j=1;j<i;j++)
			a[i][j]=a[i-1][j]+a[i-1][j-1];
	
	//输出		
	for(i=0;i<N;i++){
		for(j=0;j<=i;j++)
			printf("%-10d",a[i][j]);
		printf("\n");		
	}
	return 0;
 } 
  1. 第一列都为1
  2. 行号等于列号的也为1
  3. 除此之外的:下边的一项实际上是其头上两项相加

直角杨辉三角形,存放在二维数组中,其规律性

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

对应的下标:

0,0
1,0 1,1
2,0 2,1 2,2
3,0 3,1 3,2 3,3
4,0 4,1 4,2 4,3 4,4

如果还是觉得直角杨辉三角形对自己有些难度,不好理解,可以看一下下面简单的for循环题目,找一下感觉

  • 符号输出C
    通常在书中,这个题目是一个for循环的敲门砖
#include<stdio.h>
int main()
{
	printf("***\n");
	printf("*\n");
	printf("*\n");
	printf("***\n");
	return;
}
  • 输出九乘九口诀
    对双重for循环的理解
#include<stdio.h>
int main()
{
	int i, j;
	for(i = 1; i < 10; i++){
		for(j = 1 ;j < 10; j++){
			printf("%d * %d = %-4d", i, j, i*j);
		}
	printf("\n");	
	}
	return 0;
 } 
  • 用循环语句打印一个左三角形
    开始灵活运用for循环
#include<stdio.h>
int main()
{
	int i,n;
	for(i = 1; i <= 7; i += 2){
		for(n = 1; n <= i; n++){
			printf("* ");
		} 
		printf("\n");
	}
	for(i = 5; i >= 1; i -= 2){
		for(n = 1; n <= i; n++){
			printf("* ");
		} 
		printf("\n");
	}
	return 0;
 } 
发布了150 篇原创文章 · 获赞 267 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/Zhangguohao666/article/details/88900260
今日推荐