Nの階乗を求めるプログラムができない。
Nにゼロまたはマイナスの値が入力された場合、エラー出力は行わず再びNの値の
入力をユーザに促し、入力を待つところがうまく書けない。
#include <stdio.h>

int fact(int N);

main()
{
int N;

printf("N = ");
scanf("%d",&N);
N = fact(N);
printf("N! = %d\n" , N);

}

int fact(int N)
{
if(N == 0) return(1);
else return( N * fact(N - 1));
}