《C编程技巧:117个问题解决方案示例 》 —2.2 计算数字的阶乘
【摘要】 本节书摘来自华章计算机《C编程技巧:117个问题解决方案示例 》 一书中第2章,第2.2节,作者是希里什·查万(Shirish Chavan),卢涛 译。
2.2 计算数字的阶乘
问题
你想要开发一个程序来计算数字的阶乘。
解决方案
正整数n的阶乘由n!表示,它的定义如下:
n! = 1×2×…×n
这里给出了一些数字的阶乘:
0! = 1(根据定义)
1! = 1
2! = 1×2 = 2
3! = 1×2×3 = 6
编写具有以下规格说明的C程序:
程序使用for循环计算N的阶乘。
程序要求用户输入数字N(0<N≤12)。如果用户输入该范围之外的数字N,则程序要求用户重新输入数字。
当计算的阶乘显示在屏幕上时,程序会询问用户是否想要计算另一个阶乘或退出。
代码
以下是使用这些规格说明编写的C程序的代码。在文本编辑器中键入以下C程序并将其保存在文件夹C:\Code中,文件名为fact.c:
编译并执行此程序。此程序的一次运行结果如下所示:
工作原理
LOC 16~18中包含的for循环计算数N的阶乘。在此程序中使用具有两层嵌套的do-while循环。只要用户未能在指定范围内输入数字N,内部do-while循环就会将用户保持在循环内。只要用户想要再次计算阶乘,外部do-while循环就会将用户保持在循环内。内部do-while循环增加了此程序的稳健性。除了for循环之外,还可以使用while或do-while循环来计算数字N的阶乘。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)