问题
Write a program that reads a nonnegative integer, and computes and prints its factorial
(For example, 5! = 5x4x3x2x1 = 120)
#include<stdio.h>
#include<stdlib.h>
int main(void) {
int num;
int product=1;
int j;
printf("Enter a positive integer:");
scanf_s("%d", &num);
if (num <= 0) {
while (num < 0) {
printf("Enter a positive integer:");
scanf_s("%d", &num);
}
while (num = 0) {
printf("0! is 1");
break;
}
}
else {
j = num; //实现储存num的原有值,不然会被下面的num=num-1改变
while (num > 1) {
product = product * num;
num = num - 1; //这一步最后的num=1,会导致最后的printf里面的num输出永远是1!
}
}
printf("%d! is %d", j, product);
system("pause");
return 0;
}