I made it but I don't really like it cuz` it's slow. It took about 6-7 minutes waiting for the result of " 1000! ".

Code:
#include <iostream.h>
#include <conio.h>
#include <time.h>
void main ()
{
	long int v[259000],i,n;
   double start;
   clrscr();
   v[0]=1;
   for(i=1;i<259000;i++) v[i]=0;
   cout<<"Enter the number: "; cin>>n;
   if(n==0 || n==1 ) cout<<n<<"!="<<"1";
   else
   {
      start = clock ();
   	long int c=0;
   	for(i=1;i<=n;i++)
      {
      	long int j;
     		for(j=0;j<=c;j++)
           v[j]*=i;
         for(j=0;j<=c;j++)
         {
         	if(v[j]>=10)
            {
            	v[j+1]=v[j+1]+v[j]/10;
               v[j]=v[j]%10;
               int k1=258999,cont=0;
               while(v[k1]==0) { cont++; k1--; }
               c=258999-cont;
            }
         }
        cout<<i<<"!=";
        for(j=c;j>=0;j--)
        		cout<<v[j];
        cout<<endl;
   	}
   start=clock()-start;   
   cout<<"It took "<<start<<" seconds to complete. ";
  }
   getch();
}