0
点赞
收藏
分享

微信扫一扫

C++ Primer Chapter 2 Variables and Basic Types

目录

 

题目:打印杨辉三角

1. 下三角型

1.1 图例:

1.2.  解析:

1.3. 代码:

1.4. 运行:

 2. 金字塔型

2.1 图例

2.2. 解析

2.2.1. 打印金字塔图形

2.3. 代码 

2.4. 运行:

3. 小结


题目:打印杨辉三角

1. 下三角型

1.1 图例:

1.2.  解析:

1.3. 代码:

#include <stdio.h>
int main()
{
	int n = 0;
	scanf_s("%d", &n);
	int arr[100][100] = { 0 };//初始化数组
	for (int i = 0; i < n; i++)//次数
	{
		for (int j = 0; j <= i; j++)//下三角
		{
			if (i == j || j == 0)//判断条件
			{
				arr[i][j] = 1;
			}
			else
			{
				arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];  //找规律
			}
			printf("%d  ", arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}

1.4. 运行:

 2. 金字塔型

2.1 图例

2.2. 解析

2.2.1. 打印金字塔图形

 金字塔包含前面空格,和组成塔的数字(注意:每一个数字后都有空格)

代码:

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n - i-1; j++)
        {
            printf(" ");  //前方空格
        }
        for (int k = 0; k <= i; k++)
        {
            printf("* ");  //数据
        }
        printf("\n");
    }
    return 0;
}

运行:

2.3. 代码 

#include <stdio.h>
int main()
{
	int n = 0;
	scanf_s("%d", &n);
	int arr[100][100] = { 0 };//初始化数组
	int str[10000] = { 0 };
	int k = 0;
	int v = 0;
	for (int i = 0; i < n; i++)//次数
	{
		for (int j = 0; j <= i; j++)//下三角
		{
			if (i == j || j == 0)//判断条件
			{
				arr[i][j] = 1;
			}
			else
			{
				arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
			}
			str[k++] = arr[i][j];  //把杨辉三角数存入数组str[]中
		}

		for (int m = 0; m < n - i - 1; m++)
		{
			printf("   ");//打印金字塔前方空格
		}

		for (int p = 0; p <= i; p++)
		{
			printf("%5d ", str[v++]);//依次打印杨辉三角数
		}
		printf("\n\n");
	}
	return 0;
}

2.4. 运行:

3. 小结

 以上就是关于杨辉三角的内容了,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!

举报

相关推荐

0 条评论