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

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
学号:102500333
姓名:陈俊荣

一、运行以下程序给出程序结果(无需代码,截图程序输出结果,如有错误可自行修改)。
1、
屏幕截图 2025-11-04 140844
2、
屏幕截图 2025-11-04 141138

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

屏幕截图 2025-11-05 214429

屏幕截图 2025-11-05 214509

不同之处:while是先判断再执行,do while是先执行再判断,do while循环至少会进行一次,在这题do while多做了一次循环

三、设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。

屏幕截图 2025-11-05 214834

四、用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。

屏幕截图 2025-11-05 215015

五、编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。

屏幕截图 2025-11-05 215139

六、用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8。

屏幕截图 2025-11-05 215238

七、设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(?:)的双分支语句。

屏幕截图 2025-11-05 215416

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

屏幕截图 2025-11-05 215610

讨论:break会使程序退出当前循环,continue会使程序直接进入下一个循环的条件判断

九、设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图。

屏幕截图 2025-11-05 215819

一、算法思想
1. 对每个 x ,假设其是素数( isPrime=1 );
2. 用2到 x-1 的所有数 i 试除 x :
若 x%i == 0 ,说明 x 能被 i 整除,不是素数( isPrime=0 ),终止当前试除循环;
3. 若试除结束后 isPrime 仍为1,则 x 是素数,输出该数。

二、传统流程图
开始


初始化 x = 100


循环:x <= 200?
├─ 是 → 初始化 isPrime = 1
│ │
│ ▼
│ 初始化 i = 2
│ │
│ ▼
│ 循环:i < x?
│ ├─ 是 → 判断 x % i == 0?
│ │ ├─ 是 → isPrime = 0,break(跳出内层循环)
│ │ └─ 否 → i = i + 1,回到内层循环
│ └─ 否 → 判断 isPrime == 1?
│ ├─ 是 → 输出 x
│ └─ 否 → 不输出
│ │
│ ▼
│ x = x + 1,回到外层循环
└─ 否 → 结束

三、程序NS流程图
开始


[ x = 100 ]
┌─────────────────────────────────────────┐
│ 当 x <= 200 时循环 │
│ ┌────────────────────────────────────┐ │
│ │ isPrime = 1 │ │
│ │ ┌───────────────────────────────┐ │ │
│ │ │ i = 2 │ │ │
│ │ │ 当 i < x 时循环 │ │ │
│ │ │ ┌──────────────────────────┐ │ │ │
│ │ │ │ if (x % i == 0) │ │ │ │
│ │ │ │ ┌─────────────────────┐ │ │ │ │
│ │ │ │ │ isPrime = 0 │ │ │ │ │
│ │ │ │ │ break │ │ │ │ │
│ │ │ │ └─────────────────────┘ │ │ │ │
│ │ │ └──────────────────────────┘ │ │ │
│ │ │ i = i + 1 │ │ │
│ │ └───────────────────────────────┘ │ │
│ │ ┌───────────────────────────────┐ │ │
│ │ │ if (isPrime == 1) │ │ │
│ │ │ ┌──────────────────────────┐ │ │ │
│ │ │ │ printf("%d\n", x) │ │ │ │
│ │ │ └──────────────────────────┘ │ │ │
│ │ └───────────────────────────────┘ │ │
│ └────────────────────────────────────┘ │
│ x = x + 1 │
└─────────────────────────────────────────┘


结束

十、编写并运行书本第6章6.16编程练习题目中的第1,5,7,10,13,16,18题。
1、
屏幕截图 2025-11-05 220727

5、
屏幕截图 2025-11-05 220839

7、
屏幕截图 2025-11-05 220935

10、
屏幕截图 2025-11-05 221044

13、
屏幕截图 2025-11-05 221238

16、
屏幕截图 2025-11-05 221324

18、
屏幕截图 2025-11-05 221406

十一、编写并运行书本第7章7.12编程练习题目中的第1,2,4~5,7题。
1、
屏幕截图 2025-11-05 221616

2、
屏幕截图 2025-11-05 221821

4、5、
屏幕截图 2025-11-05 222021

屏幕截图 2025-11-05 222102

7、
屏幕截图 2025-11-05 222552

屏幕截图 2025-11-05 222601

总结:掌握了分支结构(if-else/switch)和循环结构(while/for/do while)的运用,编程问题开始变得有趣起来了
思考:在进行分析的时候要明确使用哪种控制结构:循环/分支/跳转

posted @ 2025-11-05 22:34  Ricardo333  阅读(6)  评论(0)    收藏  举报