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