高级语言程序设计第四次作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
姓名:杜惟真
学号:102500410
第一部分:运行代码
1.对用户输入的整数求和

2.对π的近似值进行判断

第二部分:作业题目
1.用while和do while分别设计程序实现:用公式π/4=1-1/3+1/5-1/7+1/9+...求π的近似值,直到某一项的绝对值小于10-4为止,对两个程序的不同之处进行讨论。
(1)while


(2)do while


思路:利用循环语句,先确定循环截止的条件,再确定每一次循环中需要执行的内容
两者的不同之处:
while循环停止的条件在前,do while循环停止的条件在后,强调循环体的内容
2.设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。
思路:利用逻辑运算符&&和||的短路效果设计,&&中,只要有一个条件不成立,结果不成立,||中,只要有一个条件成立,结果成立


3.用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。
思路:外层循环控制输出的行数,内层循环控制每一层输出的个数


4.编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。
思路:外层循环控制输出次数,内层循环控制每次所加数的个数


5.用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8。
思路:先用for循环遍历数组的每一个位置进行赋值,再用for循环遍历每一个值求和


6.设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(?:)的双分支语句。
思路:用getchar函数获取最后一个字符,若是#则停止循环,再用if语句对字符内容进行筛选,碰到指定字符则用putchar函数进行替换,如无指定字符,则原样放回
(1)if else


(2)switch


(3)(?:)双分支语句

7.设计一个循环程序,在循环中用break和continue语句,实现不同的程序效果,给出结果并讨论。
(1)break


(2)continue


不同之处:break代表整个循环结束,continue代表此次循环结束,接着下一次循环
8.设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图。
算法思想:在循环外给定一个布尔型变量,作为循环的控制条件,在循环内部遍历比当前循环数小的数,一旦出现%==0的情况,改变布尔型变量的值,若遍历完所有值布尔型变量仍保持不变,则可确定目标值为素数,在当前循环中输出此素数
代码:


传统流程图:

程序NS流程图:

第三部分:课本题目
6.16-1:创建数组储存并打印26个小写字母
思路:创建数组,利用循环语句往数组内填入连续字符


6.16-5:打印字母金字塔
思路:最外层一个大循环,为打印的行数,内层三个小循环,分别用来打印空格,正序打印字母,倒序打印字母


6.16-7:将单词输入数组,倒序打印这个单词
6.16-10:计算上下限整数间的平方和
思路:遍历时以lower起始,upper结束


6.16-13:显示2的前八次幂
思路:用左移运算表示2的幂


6.16-18:邓巴数与朋友
思路:执行顺序为先少N个朋友再翻倍


7.12-1
思路:键入字符到一个数组,再对数组内的值进行循环遍历,统计字符出现的次数


7.12-2
思路:用求模运算确定换行的位置,用循环打印字符及其对应的ASCII码


7.12-4/5
思路:用getchar函数获取最后一个字符,若是#则停止循环,再用if语句对字符内容进行筛选,碰到指定字符则用putchar函数进行替换,如无指定字符,则原样放回
(1)if else


(2)switch


7.12-7
思路:用if else语句对键入的小时数进行分类,每一种类别下有不同计算总数和税的方式


总结:循环语句可以控制输入,输出和遍历,使用嵌套循环时需要理清楚循环之间的逻辑关系,再下手写代码
而对于选择语句,则需要考虑事件发生的不同情况,分开运行

浙公网安备 33010602011771号