1.递归与非递归实现求 n的阶乘 2.以递归方式输出一个整数的每一位

it2022-05-05  142

递归实现求 n 的阶乘:

int Rec_Factorial(int n) { if (n < 0) return -1; else if (n < 2) return 1; //0 的阶乘为 1 else return Rec_Factorial(n-1)*n; }

非递归实现求 n 的阶乘:

int Factorial(int n) { int count = 1; if (n < 0) return; else { for (; n>0; n--) { count *= n; } return count; } }

以递归方式输出一个整数的每一位:

void Rec_Print(int num) { if (num > 9) Rec_Print(num / 10); printf("%d ",num); }

运行结果:

int main() { int num = 0; num = 5; printf("%d的阶乘为%d\n",num, Rec_Factorial(num)); printf("%d的阶乘为%d\n",num, Factorial(num)); Rec_Print(156); system("pause"); return 0; }


最新回复(0)