[First time]use c++ to achieve n! (two ways)

[First time]use c++ to achieve n! (two ways),第1张

#欢迎各位大佬指正(期待可以指出可优化之处)

#n!代码的实现

#用for循环和递归函数的两种实现方式

#define _CRT_SECURE_NO_WARNINGS

#include
#include
int function1_n(int x)
{
    int i = 0;
    int sum = 1;
    for(i=1;i<=x;i++)
    {
        sum *= i;
    }    
    return sum;
}
int function2_n(int y)
{
    if (y <= 1)
        return 1;
    else
        return y * function2_n(y - 1);
}

int main()
{
    int input1 = 0;
    char input2[20] = {0};
    int ret1 = 0;
    int ret2 = 0;
    printf("请输入你想计算的阶乘数>:");
    scanf("%d" , &input1);
    ret1 = function1_n(input1);
    ret2 = function2_n(input1);
    printf("用for循环算出的结果是:%d\n", ret1);
    printf("用递归函数算出的结果是:%d\n", ret2);
    if (ret1 == ret2)
        printf("算法正确!\n");
    else
        printf("请检查算法错误\n");
    printf("是否继续计算其他数字>:(请输入‘是’或者‘否’)");
    scanf("%s", input2);
    if (0 == strcmp(input2, "是"))
        main();
    else
        return 0;
    return 0;
}
 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/2889354.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-14
下一篇 2022-09-14

发表评论

登录后才能评论

评论列表(0条)

保存