我对编程很陌生,刚刚学习了 C 的基础知识。我试图用 C 构建帕斯卡三角形。但不能使它成为锐角。
这就是我所做的。
#include<stdio.h>
int main(void)
{
int n,s=1;
do
{
printf("give the value of n: \n");
scanf("%d",&n);
}
while(n<0);
for (int i=0; i<=n;i++)
{
printf("1 ");
for (int j=1;j<=i;j++)
{
s=s*(i-j+1)/(j);
printf("%d ",s);
}
printf("\n");
}
}
这给出了一个直角三角形,就像
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
但是如何使其成为锐角呢?喜欢
1
1 1
1 2 1
1 3 3 1
谢谢你。
printf()
返回打印的字符数。您可以将所有行保存为字符串,然后使用最后一行的长度居中打印它们。但管他呢,只需计算三角形两次即可。执行一次只是为了获取最后一行的长度(您可以在零长度缓冲区中使用 snprintf()
来获取该长度),然后再次计算以打印出居中的行。