输出倒置的杨辉三角形
如题,输出倒置的杨辉三角形123454321
1234321
12321
121
1 // 倒置输出杨辉三角形
#include<stdio.h>
int main()
{
int n, a = { 0 }, i, j, k;
printf("请输入三角形的高:");
while (scanf("%d", &n) != EOF && (n >= 1 && n <= 10))
{
for (i = 0;i<n;i++)
{
for (j = 0;j <= i;j++)
{
if (i == j || j == 0) //买一行的第一个是1加上对角线是1
a = 1;
else
a = a + a;//其余的用肩膀上的两个数字相加
}
}
printf("\n");
//输出程序:(倒置的杨辉三角输出)
for (i = 0;i<n;i++)
{
for (j = 0;j<i;j++) //输出空格
printf(" "); //空格由少变多
for (k = 0;k<n - i;k++)
{
printf("%3d", a); //倒着从数组里边取出数字输出
printf(" ");
}
printf("\n");
}
printf("\n");
}
return 0;
//正杨辉三角输出:
for (i = 0;i<n;i++)
{
for (j = n - i;j>0;j--)
printf("");
for (k = 0;k <= i;k++)
{
printf("%3d", a);
printf(" ");
}
printf("\n");
}
} 参考下这个{:5_109:}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int num;
int line;
int down_line;
printf("请输入一个位于 1 ~ 9 的数字:");
scanf("%d", &i);
for (line = 1; line <= i; line++)
{
for (num = 0; num < i - line; num++)
printf(" ");
for (num = 1; num <= line; num++)
{
printf("%d", num);
}
for (num = 1; num < line; num++)
{
printf("%d", line - num);
}
printf("\n");
}
for (down_line = i + 1; down_line <= 2 * i - 1; down_line++)
{
for (num = 0; num < down_line - i; num++)
printf(" ");
for (num = 1; num <= 2 * i - down_line; num++)
{
printf("%d", num);
}
for (num = 1; num < 2 * i - down_line; num++)
{
printf("%d", 2 * i - down_line - num);
}
printf("\n");
}
system("pause");
return 0;
} 好好学习./ 发表于 2020-11-30 12:27
参考下这个
#include
#include
你输出的哪是倒置的杨辉三角形呀,你是正反都来嘛 风过无痕1989 发表于 2020-11-30 10:51
谢谢! {:10_249:}正反都来
你把下一半的for循环改改不就得了
页:
[1]