递归和非递归分别实现求n的阶乘 .
递归:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int factorial(int n) {
if (n == 1) {
return 1;
}
else {
return n * factorial(n - 1);
}
}
int main() {
int x;
printf("请输入一个整数:\n");
scanf("%d", &x);
printf("%d",factorial(x));
system("pause");
return 0;
}
非递归:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int factorial(int n) {
int result = 1;
while (n > 1) {
result *= n;
n -= 1;
}
return result;
}
int main() {
int x;
printf("请输入一个整数:\n");
scanf("%d", &x);
printf("%d",factorial(x));
system("pause");
return 0;
}