设为首页 加入收藏

TOP

1.8.2 情景应用2--求10!
2013-10-07 14:19:22 来源: 作者: 【 】 浏览:65
Tags:1.8.2 情景 应用 2--

1.8.2  情景应用2--求10!

视频讲解:光盘\mr\lx\01\求10!.exe

实例位置:光盘\mr\01\qjyy\02

编写代码实现求10!。程序运行效果如图1.36所示。

 
图1.36  程序运行效果

在写程序之前首先要理清求10!的思路。求一个数n的阶乘的公式为n*(n-1)*(n-2)*…*2*1,那么反过来从1一直乘到n求依然成立。当n为0和1时单独考虑,此时它们的阶乘均为1。

实现过程如下:

(1)在TC中创建一个C文件。

(2)引用头文件。

  1. #include<stdio.h> 

(3)定义数据类型,本实例中i、n均为基本整型,fac为单精度型,分别赋初值1。

(4)用if语句判断如果输入的数是0或1,输出阶乘是1。

(5)当while语句中的表达式i小于等于输入的数n时,执行while循环体中的语句,fac=fac*i的作用是当i为2时求2!,当i为3时求3!,…,当i为n时求n!。

(6)将n的值和最终所求的fac的值输出。

(7)主要程序代码如下:

  1. main()  
  2. {  
  3.         int i=2,n=10;                       /*定义变
    量i、n为基本整型,并为i赋初值2*/  
  4.         float fac=1;                        /*定义fac为单精度型并赋初值1*/  
  5.         /*使用scanf函数获取n的值*/  
  6.         if(n==0||n==1)                      /*当n为0或1时输出阶乘为1*/  
  7.         {  
  8.             printf("factorial is 1.\n");  
  9.             return 0;  
  10.         }  
  11.         while(i<=n)                     /*当满足输
    入的数值大于等于i时执行循环体语句*/  
  12.         {  
  13.             facfac=fac*i;                      /*实现求阶乘的过程*/  
  14.             i++;                            /*变量i自加*/  
  15.         }  
  16.         printf("factorial of %d is:%.2f.\n",n,fac); /*输出n和fac最终的值*/  
  17. }  

DIY:编写求1到10连乘的程序,输出结果。(25分)(实例位置:光盘\mr\01\qjyy\02_diy)

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.8.3 情景应用3--猴子吃桃 下一篇1.8.1 情景应用1--求和程序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: