c语言计算n的阶乘的方法:1、通过for循环计算阶乘,代码如“for (i = 1; i <= n; i++){fact *= i;}”;2、通过while循环计算阶乘,代码如“while (i <= fact="" int="" res="n;if" n=""> 1)res...”。

本教程操作环境:windows7系统、c99版本、Dell G3电脑。
c语言怎么计算n的阶乘?
关于求n的阶乘问题,我们先来看一个题,借助题来找到突破点。
立即学习“C语言免费学习笔记(深入)”;
Problem Description
给定一个整数n,求它的阶乘,0≤n≤12
Input
输入一个数n
Output
输出一个数,表示n的阶乘
Sample Input
5
Sample Output
120
既然是求阶乘的,那突破点就很明显,
突破点就在:阶乘
阶乘的概念及背景:
1️⃣概念:
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。
2️⃣背景:
1808年,基斯顿·卡曼(Christian Kramp,1760~1826)引进这个表示法。
3️⃣阶乘的计算方法:
任何大于等于1 的自然数n 阶乘表示方法:
n!=1×2×3×…×(n-1)×n 或 n!=n×(n-1)!
注意:0的阶乘为1,即 0!=1。
 1! = 1
 2! = 2 * 1 = 2
 3! = 3 * 2 * 1 = 6
 …
 n! = n * (n-1) *… * 2 * 1
在了解这些之后,可以开始先尝试用代码进行实现一下,然后再看下面代码做一次检查。
关于C语言实现n的阶乘,目前入门阶段,我们主要有以下两种写法:
①for循环
#include<stdio.h>int main(){
	int n;
	scanf("%d", &n);
	int fact = 1;
	int i;
	for (i = 1; i <= n; i++)
	{
		fact *= i;
	}
	printf("%d\n", fact);
	return 0;}测试样例:5
1 * 2 * 3 * 4 * 5 = 120
5120--------------------------------Process exited after 1.475 seconds with return value 0请按任意键继续. . .
②while循环
#include<stdio.h>int main(){
	int n;
	scanf("%d", &n);
	int fact = 1;
	int i = 1;
	while (i <= n)
	{
		fact *= i;
		i++;
	}
	printf("%d\n", fact);
	return 0;}测试样例:6
1 * 2 * 3 * 4 * 5 * 6 = 720
6720--------------------------------Process exited after 1.549 seconds with return value 0请按任意键继续. . .
1️⃣写法一
#include <stdio.h>int Fact(int n);int main() //主函数{
    int n, cnt;
    scanf("%d", &n);
    cnt = Fact(n);
    printf("%d\n", cnt);
    return 0;}
    int Fact(int n)    //递归函数 
    {
    int res = n;
    if (n > 1)
        res = res * Fact(n - 1);
    return res;}测试样例:7
7 * 6 * 5 * 4 * 3 * 2 * 1
 = 1 * 2 * 3 * 4 * 5 * 6 * 7
 = 5040
75040--------------------------------Process exited after 2.563 seconds with return value 0请按任意键继续. . .
当然也可以写成这样:
2️⃣写法二
#include <stdio.h>int Fact(int n) //递归函数 {
    int res = n;
    if (n > 1)
        res = res * Fact(n - 1);
    return res;}int main() //主函数 {
    int n, cnt;
    scanf("%d", &n);
    cnt = Fact(n);
    printf("%d\n", cnt);
    return 0;}测试样例:6
6 * 5 * 4 * 3 * 2 * 1
 = 1 * 2 * 3 * 4 * 5 * 6
 = 720
6720--------------------------------Process exited after 1.829 seconds with return value 0请按任意键继续. . .
【相关推荐:C语言视频教程】
以上就是c语言怎么计算n的阶乘的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        C语言怎么学习?C语言怎么入门?C语言在哪学?C语言怎么学才快?不用担心,这里为大家提供了C语言速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号