小白请教一道题,题目:给定T,代表T组样例

题目是:给定T,代表T组样例(T<10)
每组样例一个整数n,求n!(0<=n<=20)

小白求赐教

在学校网站上写题

有两段代码,在Devc++上都可以运行,但第一段无法通过,第二段却可以,这是为什么

一:

#include<iostream>
using namespace std;
main()
{
    int T,a,b,j,i=0,s[10];
    cin>>T;
    for(i=0;i<=T-1;i++)
    {
        b=1;
        cin>>a;
        if(a!=0)
        {
            for(j=1;j<=a;j++)
            {
                b=b*j;
            }
            s[i]=b;
        }
        else s[i]=1;
    }
    for(i=0;i<=T-1;i++)
    {
        cout<<s[i]<<endl; 
    }
}

 

二:

#include<stdio.h>
main()
{
    int a,b,i,t;
    long long int c=1;
    scanf("%d",&a);
    for(i=1;i<=a;i++)
    {
        scanf("%d",&b);
        if(b!=0)
        {
        for(t=1;t<=b;t++)
        {
        c=c*t;}
        printf("%llu\n",c);
        c=1;
        }
        else printf("1\n");
    }
}

应该是人家要每输入一个数字就要对应一个输出,而不是等所有数字输入完然后才输出所有结果。

不通过的原因是什么,是答案错误,还是超时还是内存超了还是什么