C语言编程例子-使用while语句求n


演示版本

VS2012

  • 使用while语句求n

实例说明:

3!=3x2x1,5!=5x4x3x2x1,以此类推,n!=nx(n-1)x...x2x1,使用while语句求n!。

 

在写程序之前首先要理清求n!的思路。求一个数n的阶乘也就是用nx(n-1)x(n-2)

x...x2x1,那么反过来从1一直乘到n求n!也依然成立。当n为0和1时要单独考虑,

此时它们的阶乘均为1。

求得得阶乘最终结果要定义为单精度或双精度型,如果定义为整型就很容易出现

溢出现象。

#include <stdio.h>

int main()
{
    int i = 2, n;//定义变量i、n为基本整型并为i赋初始值2
    float fac = 1;//定义fac为单精度型并赋初始值1
    printf("please input an interger>=0.\n");
    scanf_s("%d", &n);//使用scanf()函数获取n的值
    if (n == 0 || n == 1)
    {
        printf("factoroal is 1.\n");
        return 0;
    }

    while (i <= n)//当满足输入的数值大于等于i时执行循环体语句
    {
        fac = fac * i;//实现求阶乘的过程
        i++;//变量i自加
    }

    printf("factorial of %d is:%.2f.\n", n, fac);//输出n和fac最终的值

    return 0;
}

 

阿飞

2021年8月7日


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM