所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可.
参考代码:
#include "stdio.h"
int main() {
int n,i,s=1.
scanf("%d",n).
for(i=1;i=n;i◆◆)//for循环求累积.
s=s*i.
printf("%d\n",s).
return 0.
注意事项:
(-n)!= 1 / (n◆1).
#include
"stdio.h"
main()
{
int
n,i;
double
p=1;//这里用的是Double,不用Int,因为Int范围太小
printf("请输入一个数字:");
scanf("%d",n);
p*=i;
printf("n!shu=%lf\n",p);
}
扩展资料:
def AskFactorial(num) factorial=1;
step(num,1){|i| factorial*=i}
puts factorial
阶乘有关公式
该公式常用来计算与阶乘有关的各种极限.
此为斯特林公式的简化公式.
思路:所谓n的阶乘就是从1到n的累积,所以可以通过一个for循环,从1到n依次求积即可.
int n,i,s=1;
for(i=1;i=n;i◆◆)//for循环求累积
s=s*i;
printf("%d\n",s);
return 0;
/*
*/
输入这段代码,记得代码编译前,先要定义变量.# include stdio.hvoid main (){? ?int n ,f =1 ;? ?printf ("input n :");? ?scanf("%d\n",n);? ? ?for (;n0;n--)? ? ? ?f=f*n;? ? ?printf("n!=%d\n",f);? ? ?}
最后一步运行软件后,Debug里面有个exe的可运行程序,就是N的阶乘程序了.
参考资料
求n的阶乘c语言如下:
第一步、编程的第一步就是写头文件,对于初学者来说,只写一个头文件就可以了,即#includestdio.h.
第二步、就是定义我们的变量,我们需要定义一个n,用来求他的阶乘,sum用来保存结果,i用来循环.
第三步、就是把sum初始化,为1.千万不要为0,保证后面的结果不出问题.
第四步、就是输入一个n,用来求n的阶乘,别忘了在前面提示一下.
第五步、就是利用for循环来求阶乘.
第六步、就是调用printf(:);函数来输出阶乘结果.
n的阶乘c语言:
用递归法求N的阶乘
程序调用自身称为递归( recursion).它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解.
递归的能力在于用有限的语句来定义对象的无限集合.
一般来说,递归需要有边界条件、递归前进段和递归返回段.当边界条件不满足时,递归前进;当边界条件满足时,递归返回.
#include stdio.h
#include string.h
#include stdlib.h
long factorial(int n)
if(n == 1)
return 1;
else
return n*factorial(n-1);
int main(int argc,char *argv[])
int n = 0;
printf("input error,exit!!\n");
return -1;
n = atoi(argv[1]);
printf("%d! = %ld\n",n,factorial(n));
习题示例
题目
题目描述:
输入一个正整数N,输出N的阶乘.
输入:
正整数N(0=N=1000)
输出:
输入可能包括多组数据,对于每一组输入数据,输出N的阶乘
样例输入:
样例输出:
AC代码
//存储每次阶乘运算的结果
int str[MAX];
void calculateFactorial(int n);
int main()
int n;
while (scanf("%d", n) != EOF) {
if(n == 0) {
printf("1\n");
} else {
calculateFactorial(n);
void calculateFactorial(int n)
int i, j, temp, c, len;
memset(str, 0, sizeof(str));
str[1] = 1;
for (j = 1, c = 0; j = len; j ◆◆) { //str数组代表一个数,模拟与i相乘
temp = str[j] * i ◆ c;
str[j] = temp % 10;
c = temp / 10;
while(c 0)
str[j ◆◆] = c % 10;
c /= 10;
len = j - 1;
for (i = len; i = 1; i --) {
printf("%d", str[i]);
printf("\n");
/**************************************************************
User: wangzhengyi
Language: C
Result: Accepted
C语言中对于阶乘通常采用循环的方式进行计算
循环的方式有while循环,for循环等
这里采用for循环进行举例,程序代码如下:
int i,sum=1;
? ? for(i=1;i=n;i◆◆)
? ? ?{
? ? ? ? sum=sum*i;
? ? ?}
以上就是土嘎嘎小编为大家整理的n的阶乘c语言程序函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!