用 for 循环语句实现编写一个求n 阶乘的函数文件

2024-11-26 13:53:54
推荐回答(5个)
回答1:

1、启动VB6.0,新建一个标准exe工程,如下图所示:

2、在窗体上绘制一个命令按钮,名称为Command1,如下图所示:

3、双击命令按钮进入代码窗口,如下图所示:

4、编写命令按钮单击事件过程。(第一种方法相对简单,就不过多解释。第二种方法,用到的是函数递归方法,在没有结束程序之前继续调用函数,相信读者会发现,n逐渐减一,所以每次乘进去都是前一个数减一,如下图所示:

5、按F5运行测试,如下图所示:

回答2:

#include
int fac(int n)
{int f=1;
 for(;n;)f*=n--;
 return f;
}
int main()
{int n;
 for(n=1;fac (n)<=10100;n++);
 printf("%d!=%d\n",n,fac(n));  
 return 0; 
}

回答3:

int fun(int maxsum)
{
    sum=1;
    int i=
    for(int i=1;;i++)
    {
        sum=sum*i;
        if(sum>maxsum)
            return i;
    }
    
}

回答4:

long int fun(int n)
{
long int temp;
int i;
for(i=1;i<=n;i++)
{
temp*=i;
}
return(temp);
}
main()
{
longint n=1;
while(fun(n)<10100)
{
n++;
}
printf("%ld",n);
return 0;
}

回答5:

/*实现这个程序,我用的是C语言很简单的程序,我们把n初始值赋值1,然后n每次加1,直到sum大于10100时,返回当前的n值*/
#include
int NtoOne(int n)
{
int sum=1;
for(long i=n;;i++)
{
sum*=i;
if(sum>10100)//当sum大于10100时返回当前的i.
return i;
}
}
main()
{
int n;
n=1;//n从1开始
n=NtoOne(n);//函数n!
printf("%d",n);
getchar();
}