weixin_64417453 2022-09-11 15:43 采纳率: 75%
浏览 33

请问一下这个代码有什么问题呀?

输入一个非负整数n,求n!。


#include<stdio.h>
int main() 
{
    int n;
    while(scanf("%d",&n)!=EOF){
        if(n==0)
            printf("1\n");
        else{
            int a[10000]={1};
            int i,j,s;
            int c=0,m=1;
            for(i=2;i<=n;i++) {
                for(j=0;j<m;j++) {
                    s=a[j]*i+c;
                    a[j]=s%10;
                    c=s/10;
                }
                while(c){
                    a[m]=c%10;
                    m++;
                    c=0;
                }
            }
            for(i=m-1;i>=0;i--)
                printf("%d",a[i]);
            printf("\n");
        }
    }
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-09-11 16:02
    关注

    a[j]=s%10;
    改为
    a[j]+=s%10;

    评论

报告相同问题?

问题事件

  • 创建了问题 9月11日