用 C 构造帕斯卡三角形(锐角)

问题描述 投票:0回答:1

我对编程很陌生,刚刚学习了 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 

谢谢你。

c pascals-triangle
1个回答
0
投票

printf()
返回打印的字符数。您可以将所有行保存为字符串,然后使用最后一行的长度居中打印它们。但管他呢,只需计算三角形两次即可。执行一次只是为了获取最后一行的长度(您可以在零长度缓冲区中使用
snprintf()
来获取该长度),然后再次计算以打印出居中的行。

© www.soinside.com 2019 - 2024. All rights reserved.