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

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
学号:102500308
姓名:郭心悦
一、运行程序给出程序结果(无需代码,截图程序输出结果)

1

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

1611
5
165

1655
7
167

1677
10
1610

16111
13
13

131
16
16

1616
18
18

181
三、编写并运行书本第7章7.12编程练习题目中的第1,2,4~5,7题。
1
1

2
2
3

4
4
5

6
5
7

6
7
8

9

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

3
do while会比while多运行一次
2
设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。
4

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

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

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

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

2

3

4

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

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

9
不是很理解 于是求助了ai

算法思路
找出100到199之间的所有素数,采用的是枚举法结合素数判定的策略,具体步骤如下:
外层循环枚举范围:通过for(x=100;x<200;x++)循环,逐个枚举 100 到 199 之间的每一个整数x。
素数判定逻辑:对于每个x,初始化isPrime=1(假设当前x是素数)。然后通过内层循环for(i=2;i<x;i++),让i从 2 开始遍历到x-1,判断x能否被i整除(即x%i0)。
如果存在某个i能整除x,说明x不是素数,将isPrime设为 0 并跳出内层循环。
如果内层循环执行完后isPrime仍为 1,说明x不能被2到x-1之间的任何数整除,x是素数。
输出结果:当isPrime
1时,通过printf输出这个素数x。

传统流程图

├─ 初始化 x=100

├─ 判断 x < 200?
│ ├─ 否 → 结束程序
│ └─ 是 → 进入下一步

├─ 初始化 i=2,isPrime=1(假设x是质数)

├─ 判断 i < x?
│ ├─ 否 → 进入“判断isPrime”步骤
│ ├─ 是 → 判断 x % i == 0?
│ │ ├─ 是 → 设isPrime=0,跳出内层循环(i循环)
│ │ └─ 否 → i自增1,返回“判断i < x”步骤

├─ 判断 isPrime == 1?
│ ├─ 是 → 打印x
│ └─ 否 → 不打印

├─ x自增1,返回“判断x < 200”步骤

结束

程序NS流程图
┌─────────────────────────────────────────────────────────┐
│ 开始 │
├─────────────────────────────────────────────────────────┤
│ x = 100 │
├─────────────────────────────────────────────────────────┤
│ while (x < 200) { │
│ ┌─────────────────────────────────────────────┐ │
│ │ i = 2; isPrime = 1 │ │
│ ├─────────────────────────────────────────────┤ │
│ │ while (i < x) { │ │
│ │ if (x % i == 0) { │ │
│ │ isPrime = 0; break; │ │
│ │ } │ │
│ │ i++; │ │
│ │ } │ │
│ ├─────────────────────────────────────────────┤ │
│ │ if (isPrime == 1) { printf("%d\n", x); } │ │
│ └─────────────────────────────────────────────┘ │
│ x++; │
│ } │
├─────────────────────────────────────────────────────────┤
│ 结束 │
└─────────────────────────────────────────────────────────┘

五、总结和思考
能够较为熟练掌握一些新的语句
仍然有很多思路受阻的情况发生,还是要多练。

posted @ 2025-11-04 23:05  gxyy  阅读(9)  评论(0)    收藏  举报