【www.arisingsemi.com--IT认证】

c阶乘公式
武汉轻工大学公选课
Linux操作系统大作业
班级:
学号:
姓名:
日期:  2014.11.10
1题目
编写程序求n的阶乘,要求用户从键盘输入n。
2要求
编写Shell程序或C语言程序,完成下面题目。在报告中要写清楚思路,如何运行程序,输入输出结果。

3程序编辑环境
在虚拟机中登录Linux系统后,使用vim编写程序,vim是“Visual Interface Improved”的简称,是Linux下最常用的文本编辑器。
vim可以完成文本的输入、删除、查找、替换、块操作等功能。
用户还可以根据需要对其进行定制,使用插件扩展vim的功能。

4程序实现过程及思路
打开VMware Workstation
启动Red Hat Linux,用root用户登录
输入超级用户密码,进行登录
打开终端:
单击“主菜单”|“系统工具”|“终端”
终端下输入:vi main.c创建 .c 文件

在vi中编写如下实现阶乘的程序:

程序首先定义了一个实现阶乘的函数Fact,如果n=0,0的阶乘为0,否则Fact(n)=n*Fact(n-1),实现。n。
接下来,在主函数中定义了一个long型的数据f来存放Fact的值,注意n必须在一定的范围内取值,因为n和f的取值都有一定的限制,如果要实现更大数据的阶乘运算,则需要优化源代码,但显然这并不是这次大作业的目的。
接下来就是编译和执行程序了,这里介绍两种方法:
方法一:输入gcc–o main main.c生成可执行文件main:

输入“./main”执行程序,结果如下:

方法二:输入gccmain.c生成可执行文件:

输入“./”执行程序,结果如下:

5大作业收获
这次大作业让我对Linux下的程序编写,编译和执行有了更进一步的了解,对vi编辑器的使用更加熟悉,总归是一种很不错的体验,做完了这次大作业,感觉是对自己的一种提升。

至于阶乘本身,n的取值不能过大,因为long型的数据f有一定的取值范围,如果要实现更大数据的存储,必须另寻他法,显然,这不是这次大作业的目的。。

本文来源:http://www.arisingsemi.com/it/92762/