C语言Ⅰ博客作业03

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11455
这个作业的目标 学会使用for语句实现指定次数的循环问题,提高自己写代码和分析代码的能力
学号 20209058

1.PTA实验作业

从PTA题目集中选出3个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题2分,内容要求如下:
1.1 求简单交错序列前N项和
本题要求编写程序,计算序列 1 – 1/4 + 1/7 – 1/10 + … 的前N项之和。
1.1.1 实验代码截图

1.1.2 数据处理

数据表达:用flag表示第i项符号,初始为正,denominator表示第i项分母,初始为1,item存放每一项的值,sum存放累加值,其中flag,i,denominator,N为整型,item和sum为双精度浮点型。
数据处理:利用赋值语句和简单的四则运算计算sum,再用for循环累加sum的值。

1.1.3 PTA提交列表及说明

  • Q1:刚开始运行时出现了格式错误问题
  • A1:仔细看题目要求原来是等号两边没有空格,不得不说,pta挺严格的

1.2 求分数序列前N项和
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
1.2.1 实验代码截图

1.2.2 数据处理

数据表达:z表示分子,m表示分母,i代表每一项,item存放每一项的值,sum是整个式子的结果,其中整型数据有z,m,i,N,浮点数据有sum,item.
数据处理:用for语句进行累加,利用m=m-z实现将前一项分子的值赋予m

1.2.3 PTA提交列表及说明

  • Q1:一开始没看清题目,运行结果错误
  • A1:将题目和代码再看了一遍,原来分母赋值错误,直接将z的值赋给分母,而那个时候z的值已经变了

1.3 数字金字塔
本题要求实现函数输出n行数字金字塔。
1.3.1 实验代码截图

1.3.2 数据处理

数据表达:将j表示为每行左边需要输出的空格个数,i为每一行数,其中i,j都为整数
数据处理:在第一个for循环里面需要再嵌套两个for语句,另外再使用一个简单的print语句

1.3.3 PTA提交列表及说明

  • Q1:在编译结果中,一直出现返回值被忽略的问题
  • A1:在定义pyramid()函数时,应明白此函数的功能是输出金字塔,不做任何运算,故没有返回值
  • Q2:在运行结果中,没有正确输出金字塔结构
  • A2:最后一个printf语句中,%d后面忘记加空格

2.阅读代码

找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方。
如下:查询自动售货机中商品的价格

  • 利用了for循环显示菜单,简单易懂
  • break语句可使程序在条件满足某一情况时跳出循环
  • switch语句实现多分支结构,根据用户输入的编号,可将相应的价格赋给price,让程序看起来简洁又严谨
  • 以后可用这种简单的语句实现一些复杂的功能,把代码尽量写得简单明了

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较疑惑的问题
第八周 10.19-10.25 10h 30 简单的输入输出函数
第九周 10.26-11.1 20h 100 定义基本数据类型,正确使用格式控制字符串
第十周 11.2-11.8 25h 200 for循环和调用简单的数学函数 不是很明白哪些函数可以直接调用不需要定义

3.2 累积代码行和博客字数

3.3 学习感悟

  • 本周虽然只学习了一个for循环语句,但是很多问题都可以用到它
  • 虽然有些问题看起来复杂,但是只要找到关键的函数去实现它的功能,正确定义数据,一切就都迎刃而解了
  • 有关c语言的很多概念和语句都没有学过,一些题目明明很简单,却被我复杂化,这就需要我多花点时间去学习了
版权声明:本文为qwerty34原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qwerty34/p/13942122.html