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

这个作业属于https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577
学号:102500430
姓名:黄华烨
运行以下程序给出程序结果(无需代码,截图程序输出结果,如有错误可自行修改)。
(1)
四(1)
(2)
四(2)
用while和do while分别设计程序实现:用公式π/4=1-1/3+1/5-1/7+1/9+...求π的近似值,直到某一项的绝对值小于10-4为止,对两个程序的不同之处进行讨论。
while
作业四1(while)
do while
作业四1(do_while)
两个程序输出结果一样,但while循环是先判断再运行,有可能一次都没循环就结束,而do while是先运行再判断,至少会循环一次
设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。
作业四2
用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。
作业四3
编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。
作业四4
用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8。
作业四5
设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(?:)的双分支语句。
作业四6(if_else)
作业四6(switch)
设计一个循环程序,再循环中用break和continue语句,实现不同的程序效果,给出结果并讨论。
作业四7
设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图。
作业四8
算法思想

  1. 遍历100~200的每个整数(候选数n);
  2. 对每个候选数n,判断其是否为素数:
    判断条件:
    用2~√n(根号n)之间的整数依次整除n;
    若存在能整除n的数,说明n不是素数,直接跳过;
    若遍历完2~√n都不能整除n,说明n是素数,输出n;
  3. 重复步骤1~2,直到遍历完所有候选数。
    传统流程图
    graph TD
    A[开始] --> B[n=100]
    B --> C{n ≤ 200?}
    C -- 是 --> D[i=2, flag=1]
    D --> E{i ≤ sqrt(n)?}
    E -- 是 --> F{n%i0?}
    F -- 是 --> G[flag=0, break]
    F -- 否 --> E
    E -- 否 --> H{flag
    1?}
    H -- 是 --> I[输出n]
    H -- 否 --> J[n++]
    I --> J
    J --> C
    C -- 否 --> K[结束]
    NS流程图
    graph LR
    A[开始] --> B[初始化n=100]
    B --> C{循环条件: n≤200}
    C -- 是 --> D[初始化i=2, flag=1]
    D --> E{内层循环: i≤sqrt(n)}
    E -- 是 --> F{n%i0?}
    F -- 是 --> G[flag=0, 跳出内层循环]
    F -- 否 --> H[i++]
    H --> E
    E -- 否 --> I{flag
    1?}
    I -- 是 --> J[打印素数n]
    I -- 否 --> K[n++]
    J --> K
    K --> C
    C -- 否 --> L[结束]
    编写并运行书本第6章6.16编程练习题目中的第1,5,7,10,13,16,18题。
    1.编写一个程序,创建一个包含26个元素的数组,并在其中存储26个小写字母。然后打印数组的所有内容。
    6.16编程练习1
    5.编写一个程序,提示用户输入大写字母。使用嵌套循环以下面金字塔型的格式打印字母:
    A
    ABA
    ABCBA
    ABCDCBA
    ABCDEDCBA
    打印这样的图形,要根据用户输入的字母来决定。例如,上面的图形是在用户输入 E 后的打印结果。
    提示:用外层循环处理行,每行使用3个内层循环,分别处理空格、以升序打印字母、以降序打印字母。如果系统不使用 ASCII 或其他以数字顺序编码的代码,请参照练习3的解决方案。
    6.16编程练习5
    7.编写一个程序把一个单词读入一个字符数组中,然后倒序打印这个单词。提示: strlen ()函数(第4章介绍过)可用于计算数组最后一个字符的下标。
    6.16编程练习7
    10.编写一个程序,要求用户输入一个上限整数和一个下限整数,计算从上限到下限范围内所有整数
    的平方和,并显示计算结果。然后程序继续提示用户输入上限和下限整数,并显示结果,直到用户输入的上限整数等于或小于下限整数为止。程序的运行示例如下:
    Enter lower and upper integer limits :59
    The sums of the squares from 25 to 81 is 255
    Enter next set of limits :325
    The sums of the squares from 9 to 625 is 5520
    Enter next set of limits :5 5
    Done
    6.16编程练习10
    13.编写一个程序,创建一个包含8个元素的 int 类型数组,分别把数组元素设置为2的前8次幂。使用 for 循环设置数组元素的值,使用 do while 循环显示数组元素的值。
    6.16编程练习13
    16.Daphne以10%的单利息投资了100美元(也就是说,每年投资获利相当于原始投资的10%)。Deirdre以5%的复合利息投资了100美元(也就是说,利息是当前余额的5%,包含之前的利息)。编写一个程序,计算需要多少年Deirdre的投资额才会超过Daphne ,并显示那时两人的投资额。
    6.16编程练习16
    18.Rabnud 博士加入了一个社交圈。起初他有5个朋友。他注意到他的朋友数量以下面的方式增长。第1周少了1个朋友,剩下的朋友数量翻倍;第2周少了2个朋友,剩下的朋友数量翻倍。一般而言,第 n 周少了 n 个朋友,剩下的朋友数量翻倍。编写一个程序,计算并显示 Rabnud 博士每周的朋友数量。该程序一直运行,直到超过邓巴数( Dunbar ' s number )。邓巴数是粗略估算一个人在社交圈中有稳定关系的成员的最大值,该值大约是150。
    6.16编程练习18
    编写并运行书本第7章7.12编程练习题目中的第1,2,4~5,7题。
    1.编写一个程序读取输入,读到#字符停止,然后报告读取的空格数、换行符数和所有其他字符的数量。
    7.12编程练习1
    2.编写一个程序读取输入,读到#字符停止。程序要打印每个输入的字符以及对应的 ASCII 码(十进制)。每行打印8个"字符﹣ ASCII 码"组合。建议:使用字符计数和求模运算符(%)在每8个循环周期时打印一个换行符。
    7.12编程练习2
    4.使用 if else 语句编写一个程序读取输入,读到#停止。用感叹号替换句号,用两个感叹号替换原来的感叹号,最后报告进行了多少次替换。
    7.12编程练习4
    5.使用 switch 重写练习4。
    7.12编程练习5
    7.编写一个程序,提示用户输入一周工作的小时数,然后打印工资总额、税金和净收入。做如下假设: a .基本工资=10.00美元/小时
    b .加班(超过40小时)=1.5倍的时间
    c .税率:前300美元为15%
    续150美元为20%
    余下的为25%
    用# define 定义符号常量。不用在意是否符合当前的税法。
    7.12编程练习7

总结&思考
本次作业要求进一步熟悉while,do while,for,switch,if else等循环的用法,不同循环有各自的优缺点,根据要求灵活使用,方能事半功倍

posted @ 2025-11-10 17:57  昏鸦Promise  阅读(5)  评论(0)    收藏  举报