C语言我这么求一个数的阶乘为啥得数不是我想要的

2025-06-22 02:10:30
推荐回答(5个)
回答1:

阶乘以前学习的时候好像只能用于整数间的运算啊,所以应该用整型,而不能用单精度。
另外,为了防止你输入的数比较大,导致产生int装不下的结果,最好用长整形保存运算阶乘的数,即long fac;

回答2:

你把它改成整形的,把那个printf放外面
就只输出最后得数了

回答3:

这么改:
#include
main()
{
int i=0,n=0;
int fac=1;
printf("请输入一个数");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
fac=fac*i;
}

printf("%d",fac);
}

回答4:

printf句要提到for循环外面来,要不每乘一个数都会在屏幕打印出结果来

回答5:

#include
main()
{
int i=0,n=0;
float fac=1.0;
printf("请输入一个数");
scanf("%d",&n);
for(i=1;i<=n;i++)
fac=fac*i;
printf("%f",&fac);
}