Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么最多只有12个输出是正确的,然后显示错误?_C_Function_Output - Fatal编程技术网

C 为什么最多只有12个输出是正确的,然后显示错误?

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+

我被要求把帕斯卡三角形打印到第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++)
    {
        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有点棘手。我的答案显示了一种方法。