高级语言程序设计课程第四次个人作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
学号:102500323
姓名:黄铭昊

一、运行以下示例程序,给出程序结果

(1)
示例程序结果1

(2)
示例程序结果2

二、完成以下题目

1、
要求:用while和do while分别设计程序实现:用公式π/4=1-1/3+1/5-1/7+1/9+...求π的近似值,直到某一项的绝对值小于10-4为止,对两个程序的不同之处进行讨论。
讨论:while循环的逻辑是先判断再执行,do while循环的逻辑是先执行后判断,在本题中体现为当while判断出最后一项小于0.0001时循环已停止,不会把这一项加入总和,但do while是先把这一项加入总和,再因为判断出这一项小于0.0001而停止循环,do while会比while多加一项,但实际情况因为精度问题两个的计算结果相同。

1程序(while)

1结果(while)

1程序(do while)

1结果(do while)

2、
要求:设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。
说明:定义了一个辅助函数func(),当func()被执行时会输出“func被执行”;此时if条件中a=0为假,func()返回值为1,为真,但&&需要两个条件均为真,a为假则&&不会去执行func()函数,此时&&的执行与否会影响表达式,因此&&需要执行。

2程序

2结果

3、
要求:用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。
思路:外循环表示行数,内循环用于倒序输出字母

3程序

3结果

4、
要求:编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。
思路:内循环先进行每个数列的累加,再由外循环将累加后的数列再次累加

4程序

4结果

5、
要求:用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8。
思路:循环次数为数组中数的个数,每次循环对应输入或输出数组中的一个项

5程序

5结果

6、
要求:设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(?:)的双分支语句。
说明:以成绩评级和是否及格为背景,10090为A,8980为B,7970为C,6960为D,60以下为E,每个等级都是一条分支,作为if括号中的条件,或case中的表达式;
同时以是否及格作为两个分支,使用( )?: 条件运算符表达

6程序(if else)

6结果(if else)

6程序(switch)

6结果(switch)

7、
要求:设计一个循环程序,再循环中用break和continue语句,实现不同的程序效果,给出结果并讨论。
说明:设计了一个从1输出到10的简单程序,其中i=3时的使用continue跳过了本次循环,不会输出3;在i=7时使用了break,停止循环,7及之后的数均不会被输出

7程序

7结果

8、
要求:设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图。
思路:外循环表示100-200之间,内循环使i从1除到i本身,若除某个数没有余数,这个数就是i的因数,n表示因数的个数,每找到一个因数n加一,只有两个因数的数(n=2)为素数

8程序

8结果

传统流程图:

传统流程图

NS流程图:

NS流程图

三、第六章编程练习

1、

6.16

6.16

5、

6.16

6.16

7、

6.16

6.16

10、

6.16

6.16

13、

6.16

6.16

16、

6.16

6.16

18、

6.16

6.16

四、第七章编程练习

1、

7.12

7.12

2、

7.12

7.12

4、

7.12

7.12

5、

7.12

7.12

7、

7.12

7.12

五、总结与思考
通过这次作业,我能够熟练运用while循环和for循环及嵌套循环,合理选择if else句式或switch句式,这使我的代码更加丰富,能处理更加复杂的情况。
同时学会了用传统流程图和NS流程图表示我的代码思路。

posted @ 2025-11-06 21:14  破碎的心~  阅读(3)  评论(0)    收藏  举报