高级语言程序设计第四次作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
学号:102500330
姓名:黄明浩
任务一:运行以下程序给出程序结果(无需代码,截图程序输出结果,如有错误可自行修改)。
1.整数加和

2.计算pi的近似值

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

do...while:

思路:total为计算总和,sign用于确定符号,每循环一次符号改变一次,fabs函数可以确定确定此项是否绝对值小于1e-4,最后将所得总和*4即为pi。
二者区分:while会在进入语句前先判断,而do while会保证至少进入一次循环体,也就是即使第一次就小于1e-4,也会进入循环。
4.设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行

说明:&&运算符左边的内容已经为假,无需计算右侧的表达式,即逻辑表达式中的运算符,只有会影响表达式求值时,才会执行
5.用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。

思路:外层for循环控制行,内层for循环控制列,设置字符数组先打印每个字母,然后让n依次-1,实现每次都少打印一个字母
6.编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)

思路:首先要创造出循环打印1+2+3+...,然后还要再次用循环,让每个这样的循环都相加
7.用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8

思路:使用for循环分别实现循环输入和输出,然后再进行求和
8.设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(?:)的双分支语句
if,else实现:

switch实现:

注意:需要使用break语句跳出。
双分支语句:

9.设计一个循环程序,再循环中用break和continue语句,实现不同的程序效果,给出结果并讨论
break使用:

可以看到,break使用后直接跳出循环,继续往下执行直至结束。
continue使用:

可以看到,continue只跳过打印5,而后继续往下循环,可得知作用是跳过本次循环后面的部分。
10.设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图

算法思想:遍历 100~200 之间的每一个整数n,对每个n,判断其是否为素数:
若n小于 2,直接排除(本问题中n从 100 开始,可省略)
用 2 到√n之间的所有整数i去除n,若存在能整除n的i,则n不是素数;否则n是素数;
若n是素数,利用flag进行标记并输出该数。
传统流程图:

程序NS流程图

编写并运行书本第6章6.16编程练习题目中的第1,5,7,10,13,16,18题
6.16.1

思路:使用循环存储字符,然后打印
6.16.5

思路:外层循环控制行,内层三个for循环分别实现空格,字母升序,降序打印。
6.16.7

思路:利用strlen函数计算字符长度,然后用for循环打印
6.16.10

6.16.13

思路:需要使用count做计数器,在用do while循环打印时
6.16.16

思路:同样是注意计数器的使用
6.16.18

7.12.1

7.12.2

7.12.4

7.12.5

7.12.7

总结与反思:本章节内容涉及循环,循环嵌套较多,需要在课后及时复盘,多加练习,方能熟练掌握。
浙公网安备 33010602011771号