【C语言练习(17)—输出杨辉三角形】
C语言练习(17)
前言
杨辉三角形的输出可以分三步,第一步构建一个三角形、第二步根据规律将三角形内容填写、第三步将三角形以等腰的形式输出
题目
- 请输出一个十行的杨辉三角形
题目解析
- 杨辉三角形:
- 第一步先写一个斜三角形
int arr[10][10] = {0};
for (int i = 0; i < 10; i++)
{
for (int j = 0; j <= i; j++)
{
if (i == j||j==0)
{
arr[i][j] = 1;
}
printf(“%-4d “, arr[i][j]);
}
printf(”\n”);
}
- 第二步根据规律,下面的数等等于上面的两个数的之和
for (int i = 2; i < 10; i++)
{
for (int j = 1; j <= i; j++)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j <= i; j++)
{
printf(“%-4d “, arr[i][j]);
}
printf(”\n”);
}
- 第三步调整位置
for (int k = 0; k < 26 - 4 * i / 2; k++)
{
printf(" ");
}
26是调整位置,由于输出printf("%-4d ", arr[i][j]);,空格只需在每一行前面空格即可,后面的不需要去管,
26 - 4 * i / 2表示每一行要空格的个数
整体代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int arr[10][10] = {0};
for (int i = 0; i < 10; i++)
{
for (int j = 0; j <= i; j++)
{
if (i == j||j==0)
{
arr[i][j] = 1;
}
printf("%-4d ", arr[i][j]);
}
printf("\n");
}
for (int i = 2; i < 10; i++)
{
for (int j = 1; j <= i; j++)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
for (int i = 0; i < 10; i++)
{
for (int k = 0; k < 26 - 4 * i / 2; k++)
{
printf(" ");
}
for (int j = 0; j <= i; j++)
{
printf("%-4d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
结果
原文地址:https://blog.csdn.net/weixin_56089319/article/details/144740724
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!