My code is showing 'wrong output' in SPOJ, although it's running without trouble in my compiler.
The code for the program is :
#include<stdio.h>
int factorial(int);
int main(){
int a[100],t,n,i;
scanf("%d",&t);
for(i=0;i<t;i++){
scanf("%d",&a[i]);
}
for(i=0;i<t;i++){
printf("%d",factorial(a[i]));
printf("\n");
}
return 0;
}
int factorial(int n){
if(n==0){
return 1;
}
else if(n==1){
return 1;
}
else{
return n*factorial(n-1);
}
}