您的位置  > 互联网

基于的数组规律代码

注意:本题是关于递归的熟悉程度,而不是实际应用。 对于非常大的数,本题不涉及大数运算。 直接使用int类型,因此使用较小的数字来测试程序。

#include
#include
/*递归,返回累乘结果*/
long fact(long arr[], int i)//数组,数组下标作为参数
{
    if (i == 0)             //递归出口
        return 1;
    else
        return i * fact(arr, i - 1);//递归规律i-1
}
int main()
{
    int n;
    long arr[100];
    printf("输入n的值(n>=1):");
    scanf_s("%d", &n);
    for (int i = 0; i < n; i++)         //将1到n保存到数组中
        arr[i] = i + 1;
    printf("1到%d的累乘为:%d\n", n, fact(arr, n));   //打印累乘结果
    system("pause");                    //暂停,控制闪屏
    return 0;
}

运行结果:

12 的阶乘

1 的阶乘

5 的阶乘

代码编译器:2017

好的