السلام عليكــم ورحمـة الله وبركاتــه
دلوقتي البرنامج ده أنت بتدخله رقم و هو بيجبلك المضروب بتاعه. البنامج شغال تمام بس المشكلة أني مبرمجه على أنه لو الرقم بالسالب يعطي المضروب بالسالب لكنه مبيعملش كده.
#include <stdio.h>
#include <math.h>
void factorial ( int );
int main ( void )
{
int number;
printf("Enter a number: \n");
scanf("%d", &number);
factorial ( number );
}
void factorial ( int num )
{
int i;
long int factorial = num;
if ( num == 0 || num == 1 )
factorial = 1;
else if ( num == -1 )
factorial = -1;
else {
for( i = ((int) fabs(num)) - 1; i > 1; i--) {
factorial *= i;
}
if ( num < 1 )
factorial *= -1;
}
printf("\nFactorial = %ld\n", factorial);
}</div>
