求解答*
发表在C语言图书答疑 2018-04-09 悬赏:2 学分 《C语言从入门到精通(第3版)》第7章 循环控制
是否精华
版块置顶:
可以帮我把整道题讲解一下么,麻烦了谢谢
分享到:
精彩评论 2
李木子
学分:2954 LV11
2018-04-12
沙发

你好:

  主函数的前4句应该理解吧,从if开始讲:

  (1)利用scanf函数输入一个数,如果输入的数大于等于0 ,那么进入if下面的语句块(也就是计算阶乘),定义fac是用来存储计算阶乘的结果,fac初始值为1,(如果为0,那么0乘以任何数都等于0,计算结果就会为0)

(2)再次判断输入的值是否大于0,如果大于0,就进入循环语句(例如输入n=3)i=1.n=3成立,进入fac*=i(fac=1*1=1),i+1=1+1=2,

(3)2<=3成立,再次执行fac*=i(fac=1*2),i+1=3,

(4)3<=3成立,再次执行fac*=i(fac=1*2*3)i+1=4,

(5)4<=3不成立,跳出循环.那么3的阶乘就是1*2*3=6;最后用printf输出

(6)最后一句printf语句是与第一个if语句配对的

  


 

嘻xiuiu
学分:70 LV3
2018-04-25
板凳

李木子 发表于2018-04-12 11:37

你好:

  主函数的前4句应该理解吧,从if开始讲:

  (1)利用scanf函数输入一个数,如果输入的数大于等于0 ,那么进入if下面的语句块(也就是计算阶乘),定义fac是用来存储计算阶乘的结果,fac初始值为1,(如果为0,那么0乘以任何数都等于0,计算结果就会为0)

(2)再次判断输入的值是否大于0,如果大于0,就进入循环语句(例如输入n=3)i=1.n=3成立,进入fac*=i(fac=1*1=1),i+1=1+1=2,

(3)2<=3成立,再次执行fac*=i(fac=1*2),i+1=3,

(4)3<=3成立,再次执行fac*=i(fac=1*2*3)i+1=4,

(5)4<=3不成立,跳出循环.那么3的阶乘就是1*2*3=6;最后用printf输出

(6)最后一句printf语句是与第一个if语句配对的

  


 

谢答
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照