gpt4 book ai didi

c - 如何为帕斯卡三角形中的数字添加括号?

转载 作者:行者123 更新时间:2023-11-30 18:07:07 24 4
gpt4 key购买 nike

问题如下:突出显示(通过放置括号)三角形中 C(n, k) 的答案。我已经为 11 线帕斯卡三角形构建了代码。但我无法突出显示 C(n, k)。

这就是我所做的。

#include<stdio.h>

int recursive(int n, int k);

int main(void)
{
int row, space, column, b, x, y;

printf("Pascal triangle with 11 rows : \n");
printf("Enter the row and column that you would like to highlight on the triangle : ");
scanf("%d %d", &x, &y);

if (x > 11)
{
printf("Error! The row entered must be smaller than 11! \n ");
}

else if (y > x)
{
printf("Error! Column CANNOT more than number of row!\n");
}

else
{
for(row = 0 ; row < 11 ; row++)
{
for(space = 30 - 3 * row ; space > 0 ; space--)
{
printf(" ");
}

for(column = 0;column <= row; column++)
{
{
if(column == 0 || row == 0)
{
b = 1;
}
else
{
b = ( b * (row - column + 1)/column );
}
printf("%6d", b);
}

if(row == x-1 && column == y-1)
{
printf("(%2d)",recursive( row , column ));
}
else
{
printf("%d ",recursive( row , column ));
}
}
printf("\n");

}

}

return 0;
}

int recursive(int n,int k)
{
if( k == 0 || k > n)
return 0;
else if( n == 1 && k == 1 )
return 1;
else
return ( recursive( n - 1, k) + recursive( n - 1, k - 1) );
}

有人可以告诉我我哪里做错了吗?

最佳答案

因为您要循环打印第一个数字。您需要检查迭代是否是您想要突出显示的迭代(就像您对打印第二个数字的部分所做的那样)。

而不是:

printf("%6d", b);

更改为:

if(row == x-1 && column == y-1){
printf("(6%d", b);
}
else{
printf("%6d", b);
}

然后更改您最初的尝试(打印最后一位数字)以使用单个右括号。

printf("%2d)",recursive( row , column ));

关于c - 如何为帕斯卡三角形中的数字添加括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com