gpt4 book ai didi

无法获得计算数字正确阶乘的程序

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:53 25 4
gpt4 key购买 nike

我编写了一个程序来给出用户输入的数字的阶乘。它用于赋值,必须这样写,以便第一个函数读取一个值,然后将其传递给 main,然后 main 将其传递给第二个函数,该函数计算数字的阶乘,然后将其打印给用户。问题是它一直显示“1”作为每个数字的阶乘。我做错了什么?

#include <stdio.h>

int getValue()
{

int n;

printf("Enter number: ");
scanf("%d%*c", &n);

return(n);
}

int factorial(int n)
{

int i, f;

f=1;
for(i=1; i<=n; i++)
f=f*i;

printf("The factorial is: %d", f);

return(f);
}

int main()
{

int f;

getValue();
factorial(f);

return(0);
}

最佳答案

您没有设置 f 这应该可以解决您的问题:

int main()
{
int f = getValue();
factorial(f);

return(0);
}

我假设您在 scanf 的代码中有错别字,否则它不会编译,但它应该是:

scanf("%d%*c", &n);
^

关于无法获得计算数字正确阶乘的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16044236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com