C语言循环和递归两种方法求n的阶乘

来源:互联网 发布:搬家有什么软件 编辑:程序博客网 时间:2024/05/16 07:08
#include<stdio.h>// 循环法求阶乘int sum1(n) {int sum = 1;for (int i = 1; i <= n; i++) {sum = sum*i;}return sum;}// 递归法求阶乘int sum2(n) {int sum=0;if (n == 1)  sum=1;    else  sum = sum2(n - 1)*n;return sum;}void Menu() {printf_s("1   用循环法求阶乘\n");printf_s("2   用递归法求阶乘\n");printf_s("3   退出\n");}void main() {int sum = 1;int n,c;printf_s("输入要求的阶乘 n :");scanf_s("%d", &n);Menu();while (1) {printf_s("\n输入菜单: ");scanf_s("%d", &c);switch (c) {case 1:sum = sum1(n);printf_s("sum1 = %d", sum);break;case 2:sum = sum2(n);printf_s("sum2 = %d", sum);break;case 3:break;default:break;}if (c == 3) break;}system("pause");}



0 0
原创粉丝点击