C 为什么最多只有12个输出是正确的,然后显示错误?
我被要求把帕斯卡三角形打印到第n行。这是我的密码C 为什么最多只有12个输出是正确的,然后显示错误?,c,function,output,C,Function,Output,我被要求把帕斯卡三角形打印到第n行。这是我的密码 #include <stdio.h> int main() { int n,r,k,i,j,a; printf("Upto which line you want to print the pascal triangle: "); scanf("%d",&k); printf("\n"); for(i=0;i<=k;i+
#include <stdio.h>
int main()
{
int n,r,k,i,j,a;
printf("Upto which line you want to print the pascal triangle: ");
scanf("%d",&k);
printf("\n");
for(i=0;i<=k;i++)
{
for(j=1;j<=k-i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
a=C(i,j);
printf("%5d",a);
}
printf("\n");
}
return 0;
}
long int fct(int k)
{
int i;
long int fct=1;
if (0==k||1==k){
fct=1;
}
else{
for(i=2;i<=k;i++)
{
fct=fct*i;
}
}
return(fct);
}
int C(int n,int r)
{
int comb=(fct(n))/((fct(r))*(fct(n-r)));
return(comb);
}
#包括
int main()
{
int n,r,k,i,j,a;
printf(“直到要打印pascal三角形的行:”;
scanf(“%d”和“&k”);
printf(“\n”);
for(i=0;i13!约为60亿,这超过了32位整数的处理能力。这是否回答了您的问题?另请参见“警告:函数“C”的隐式声明”
请注意,您只能通过简单的加法计算Pascal三角形的条目。任何一行的最左边和最右边的条目始终为1。行中的其他条目只是上面一行中两个条目的总和。啊,好的。在避免溢出的同时计算N选择K有点棘手。我的答案显示了一种方法。