【数组章学习笔记】杨辉倒三角

7-2 倒杨辉三角形 (10 分)
妞妞喜欢图形,总是喜欢把图形倒过来欣赏。有一次,她看见杨辉三角形,觉得很新鲜,于是就把它们大大小小地摆列出来了,好不得意哦。

输入格式:
输入数据中包含了多个整数n(1≤n≤10),以键盘输入结束^Z和遇文件结束符时结束输入。

输出格式:
以n为行数,其打印出的倒杨辉三角形(每个数据占三个字符)就是妞妞所喜欢的。每个倒三角形之间没有空行,见样本输出。

输入样例:
在这里给出一组输入。例如:

5
3
结尾无空行
输出样例:
在这里给出相应的输出。例如:

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

杨辉三角

#include<stdio.h>
int main()
{
	int arr[10][10];
	for (int i = 0; i < 10; i++)//将10*10二维数组初始化为1
	{
		for (int j=0;j<10;j++)
		{
			arr[i][j] = 1;
		}
	}
	
	for (int i=2;i<10;i++)
	{
		for (int j = 1; j < i;j++)
		{
			arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
		}
	}
	for (int i = 0; i < 10; i++)
	{
		for (int k = 0; k<26-6*i/2; k++)
			printf(" ");
		for (int j = 0; j < i+1; j++)
		{
			printf("%6d",arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}

将其根据题目改动变为倒三角

#include<stdio.h>
int main()
{
	int n;
	int arr[10][10];
	for (int i = 0; i < 10; i++)
	{
		for (int j=0;j<10;j++)
		{
			arr[i][j] = 1;
		}
	}

	for (int i = 7; i >= 0; i--)
	{
		for (int j = 8; j > i; j--)
		{
			arr[i][j] = arr[i + 1][j] + arr[i + 1][j + 1];
		}
	}

	while (scanf("%d", &n) != EOF)//处理到文件尾
	{

		for (int i = 10-n; i < 10; i++)
		{
			for (int k = 0; k<i-(10-n);k++)
			{
				printf("   ");
			}

			for (int j = i; j < 10; j++)
			{
				if (j == 9)//让最后一个输出数字后无空格
				{
					printf("%3d", arr[i][j]);
					break;
				}
				printf("%3d   ", arr[i][j]);
			}
			printf("\n");
		}
	}

	return 0;
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值