高级语言程序设计课程第四次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
学号:102500336
姓名:林陈帅
-
运行以下程序给出程序结果(无需代码,截图程序输出结果,如有错误可自行修改)
![捕获]()
![捕获1]()
-
程序设计
-
用while和do while分别设计程序实现:用公式π/4=1-1/3+1/5-1/7+1/9+...求π的近似值,直到某一项的绝对值小于10-4为止,对两个程序的不同之处进行讨论。
![联想截图_20251104142551]()
![联想截图_20251104142819]()
![联想截图_20251104142836]()
不同之处:while是先判断再执行,do while是先执行再判断,do while循环至少会进行一次 -
设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。
![联想截图_20251104164529]()
![联想截图_20251104164545]()
-
用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。
![联想截图_20251104143649]()
![联想截图_20251104143705]()
-
编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。
![联想截图_20251104144545]()
![联想截图_20251104144556]()
-
用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8。
![联想截图_20251104145402]()
![联想截图_20251104145423]()
-
设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(?:)的双分支语句。
![联想截图_20251104150913]()
![联想截图_20251104150938]()
![联想截图_20251104151959]()
![联想截图_20251104152035]()
-
设计一个循环程序,再循环中用break和continue语句,实现不同的程序效果,给出结果并讨论。
![image]()
![image]()
break会使程序退出当前循环,continue会使程序直接进入下一个循环的条件判断 -
设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图。
算法思想:
1)定义一个函数,先判断数能否被2整除,再判断能否被其他不大于该数的开平方的奇数整除,上述两个条件满足其一就立即返回0,否则遍历因数结束后返回1
2)用一个for循环遍历100到200的所有数
3)将函数的返回值作为if的判断条件,如果返回值为真则输出该数,反之不输出
传统流程图
开始
↓
初始化:n=100
↓
n ≤ 200? → 否 → 结束
↓是
n是偶数? → 是 → 函数返回0 → 不输出 → n++
↓否
i = 3;i ≤ √n? → 否 → 判断结束 → 函数返回1 → 输出n → n++
↑ ↓是
↑ n能被i整除? → 是 → 函数返回0 → 不输出 → n++
↑ ↓否
i=i+2
NS流程图
+-----------------------+
| judge(int n) |
+-----------------------+
| i = 3 |
+-----------------------+
| if n % 2 == 0 |
| +-----+-----------+ |
| | 真 | 假 | |
| +-----+-----------+ |
| |return 0|继续执行 | |
| +-----+-----------+ |
+-----------------------+
| for i <= sqrt(n) |
| +-----------------+ |
| | if n % i == 0 | |
| | +-----+-------+ | |
| | | 真 | 假 | | |
| | +-----+-------+ | |
| | |return 0|i+=2 | | |
| | +-----+-------+ | |
| +-----------------+ |
+-----------------------+
| return 1 |
+-----------------------+
+-----------------------+
| main() |
+-----------------------+
| n = 100 |
+-----------------------+
| for n <= 200 |
| +-----------------+ |
| | 调用 judge(n) | |
| +-----------------+ |
| | if judge(n)==1 | |
| | +-----+-------+ | |
| | | 真 | 假 | | |
| | +-----+-------+ | |
| | |打印n| | | |
| | +-----+-------+ | |
| +-----------------+ |
| n++ |
+-----------------------+
| return 0 |
+-----------------------+
-
编写并运行书本第6章6.16编程练习题目中的第1,5,7,10,13,16,18题。
6.16 - 1
![image]()
![image]()
6.16 - 5
![image]()
![image]()
6.16 - 7
![image]()
![image]()
6.16 - 10
![image]()
![image]()
6.16 - 13
![image]()
![image]()
6.16 - 16
![image]()
![image]()
6.16 - 18
![image]()
![image]()
-
编写并运行书本第7章7.12编程练习题目中的第1,2,4~5,7题。
7.12 - 1
![image]()
![image]()
7.12 - 2
![image]()
![image]()
7.12 - 4,5
![image]()
![image]()
![image]()
7.12 - 7
![image]()
![image]()
![image]()
总结: 本次作业让我巩固了分支结构(if-else/switch)和循环结构(while/for/do while)的运用,让我体会到了上述结构在具体运用过程中的细节和选择策略。
思考: 对于这些控制语句在实际程序中的书写,例如循环和分支的嵌套,需要在设计程序时先精确把握程序的逻辑,再写出来就不至于逻辑混乱或者写到一半卡壳。











































浙公网安备 33010602011771号