高级语言程序设计课程第四次个人作业
此作业所属课程:https://edu.cnblogs.com/campus/fzu/2026gjyycxsj
此作业要求:https://edu.cnblogs.com/campus/fzu/2026gjyycxsj/homework/16750
学号:0102600125
姓名:汪英颉
1.运行以下程序给出程序结果
<1.>
![0-1]()
<2.>
![0-2]()
2.用while和do while分别设计程序实现:用公式π/4=1-1/3+1/5-1/7+1/9+...求π的近似值
(1.)while写法:

(1.)do-while写法:

3.思考
while 是“先判断后执行”,如果初始条件不满足,循环体一次也不会执行。
do-while 是“先执行后判断”,循环体至少会执行一次。
使用 while 时,我们在循环开始前已经计算好了第一项,循环条件判断的是“当前项”是否还需要累加(实际上我们在循环内累加的是上一轮算出的 term)。
使用 do-while 时,逻辑更自然:先执行一次累加和计算下一项,然后再判断下一项是否需要继续。
结果一致性:
由于本题初始条件保证循环体至少执行一次,两种写法最终得到的 π
π 近似值是完全一致的。
如果将终止条件改为极小值(如第一项就小于阈值),while 会跳过循环(sum = 0),而 do-while 仍会执行一次(sum = 1)。
3.设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。
如下图,展示短路的情况:
![1-2]()
4.用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。
如下图,用字符数组直接输出了,也可以用Ascll码通过两层循环输出:
![1-3]()
5.编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。
如下图:
![1-4]()
6.用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8。
如下图:
![1-5]()
7.设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(? :)的双分支语句
(1.)if-else:

(2.)switch:

(3.)(?😃:
8.设计一个循环程序,再循环中用break和continue语句
程序如下图:

思考:
遍历 1 到 10 的整数。
continue 效果: 当数字是 3 的倍数时,跳过本次循环剩余代码,不打印该数字。
break 效果: 当数字达到 8 时,立即终止整个循环。
9.设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图。
程序如下图:

算法思想、传统流程图、程序NS流程图
10.编写并运行书本第6章6.16编程练习题目中的第1,5,7,10,13,16,18题
![2-1]()
5.
![2-2]()
7.
![2-3]()
10.
![2-4]()
13.
![2-5]()
16.
![2-6]()
18.
![2-7]()
11.编写并运行书本第7章7.12编程练习题目中的第1,2,4~5,7题
![3-1]()
2.
![3-2]()
4.
![3-3]()
5.
![3-4]()
7.
![3-5]()
总结与反思
1.学习并运用了逻辑运算,学习并巩固了循环(对while与do-while的区别清晰了解);
2.写入循环的过程中有时会写错离开循环的条件,导致循环多进行或少进行一轮;
3.在进行字符串读取时没意识到使用getchar更合适,同时使用了getchar后忘记处理读入的空格;
4.复习并巩固了之前的数据类型,运算符等;
5.使用宏定义解决问题;






















浙公网安备 33010602011771号