C语言I博客作业07

1.作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2/
这个作业要求在哪里 <https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585 >
这个作业的目标 <是让我们继续对学习过的内容进行回顾和总结,让我们养成良好的学习习惯,同时熟练运用while语句解决不定循环次数的问题。>
学号 <20209128>

一、本周教学内容&目标

第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。

二、本周作业

1.PTA实验作业

2.代码互评

3.学习总结

三、作业格式

1.PTA实验作业

1.1 题目名1

野王认证

小刘刚打上了巅峰赛2500 分, 就迫不及待地向他们室友发起了solo(单挑他们会选择不一样的英雄,每个英雄都只有两个属性(血量,攻击力 ), 小刘有很多皮肤 会给他带来增益( 减损)效果(增加或者减少血量和 攻击力)然后小刘和他的室友进行 solo (单挑), 小刘先手, 每次使对方血量减少自己攻击力 数值, 当一方血量小于等于 0 时被击败,小刘自认为自己能成为认证野王, 现在想让你帮助他判断 自己能否成为认证野王

1.1.1数据处理

数据表达:本题运用的均为单精度的整型变量来完成,这些变量分别为a,p,PH,PA和A,P,n其中这前6个变量均由程序运行时定义的,并根据题意来决定变量n的数值,再通过n的值来决定程序运行完毕后将输出什么东西。

数据类型:这道题目则运用了我们这一周新学习的while语句,用于不定循环次数判断的情况,并将while语句和if-else语句结合完成题目要求,求余的代码则均为基本的输入,输出语句和赋值语句。其中,整个程序均以if-else中嵌入while语句的主体运行。

伪代码:

程序运行

输入3行数据,每行2个数值;

if 第一行第二个数据大于第二行第一个数据(那么小刘可以击败无数个对手);

程序输出 The king of the wild certification!

程序结束;

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2 1 , 3 1 , 3 0 2 小刘只能打败2个室友
10 10 ,3 1 , 3 0 The king of the wild certification! 小刘是野王
10 1 , 10 10 , 3 0 I'm too dishes! 小刘是辣鸡

1.1.4 PTA提交列表及说明

说明

1.部分正确:在使用if-else语句和while语句的结合时逻辑错误,将判断条件写错了而导致运行程序只会运行一半的程序,等于只会运行if中的执行体,而else的执行体则不会运行。

2.部分正确:第二次重新改写了程序的判断条件,但是在运行两者间相互攻击是被攻击个对手被打败是应该重新输入一个新的数值,但是我忽略了这一点,而导致程序总是运行的对手被无限次打败。

3.部分正确:这一次题目的执行体都已经没有了大问题,但是在执行顺序设定的不好,导致程序能够成功,但是运行超时,导致程序部分错误。(其他的4分的错误都和错误一模一样,就不再重新复述了,单纯气不过乱搞qvq)

1.2 题目2

购物(二)

用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。以-1作为输入结束的标志>

1.1.1数据处理

数据表达:本题运用了均为双精度浮点型变量;分别为x,y,z,w;程序先将除了x以外的变量定义为0,而x则被赋予运行程序时输入的值.其中z为w和y的商,w和y由x决定。

数据处理:本题运用了if——else和while语句,其while语句则循环输入商品价格,并且对商品数进行计数,通过它们来计算出商品的平均价值并且判断条件用于防止输入小于0的商品数值,其次if——else语句用于判断商品数是否为极端值,防止程序错误,从而计算出正确的答案。

伪代码:

程序运行

输入9个1最后输入一个-1;

因为while(x!=-1){},跳出程序,程序输出1.00

程序结束;

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
890.78 2769.8 123 3532.2 -1 1828.94 奢侈品
890.78 2769.8 123 3532.2 13000 -1 4063.16 高贵的奢侈品
2.01 200 3.55 -1 68.52 小贵的商品

1.2.4 PTA提交列表及说明

说明

1.编译错误:第一次做题时少定义了一个变量但是在判断条件时缺使用了这个没定义的变量,而导致程序编译错误。

1.部分正确:第二次因为在判断是否商品数大于10时条件与错误的商品数极端值(也是错的)写在一起;导致部分错误;

1.部分正确:这道题因为错误点提示我是商品数为极端值,其实它想表示的极端值是什么数值都没有,而我却以为是无数个商品,而导致代码部分错误。

挑战题

和奥巴马一起画方块

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。>

1数据处理

数据表达:本题运用了单精度整数型变量a,x,y,b 。以及字符型变量c其中a和c由程序运行时所赋予的,而b则由a来决定,其中x,y用于决定输出方块的大小

数据处理:本题运用了for语句和if—else语句,其for语句在其中再携带一个for语句,从而能够输出方块,而if语句则用于判断输入的a的值是应该用于何种计算方式,才能输出正确的答案。其余的均为输入输出和赋值语句。

2 实验代码截图

3 造测试数据

这个表格一输入方块就没了,没法写出来。。。

4 PTA提交列表及说明

说明

1.答案错误:因为在给予a和字符型变量c赋值时,没有给%d和%c之间加一个空格,导致程序一直错误,答案不对。

2.代码互评(5分)

找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

代码1

同学代码截图

自己代码截图

不同点1:他的代码整体上看起来比较整洁,而且定义的变量也容易理解这个程序的应用意义,而且实际上将排版紧凑点的话,代码行也很短,十分的人性化。

不同点2:但是我的代码可能在变量运算时表达式的写法可能对于一般人来说更加容易理解,但是代码是让计算机与理解的,所以这一点我应该向这个代码学习。

代码2

同学代码截图

自己代码截图

说明

不同点1:他在的while语句循环条件与我的循环条件的侧重点有所不同,我选择以&&(或)为侧重点,而他选择以||(且)为侧重点来判断是否循环。

不同点2:但是在整体上他的判断条件更加的整洁,但是我的判断条件可能更加容易理解一些。但是没有他的整洁

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周 20> 120 第一周我学习了制作简单的文字编程,以及c语言的基本字符和命令。如printf,return 0 等基本字符 该周问题已解决
第九周 24 180 第二周我学会了如何编程制作能够进行加减乘除的小程序,并且学习了使用比单精度更高级的双精度符号,同时也学会了定义一个函数来求所需的数据 该周问题已解决
第十周 26 260 这一周我学会了使用循环语句“for( )”来进行更加复杂的程序,从而解决分段的函数问题,以及多个数据的求和. 该周问题已解决
第十一周) 29 280 这一周我学会了调用数学函数如pow幂函数来解决乘方表和阶乘表生成的问题,以及学会了自己调用定义一个新函数来解决一些较复杂的数学问题。 该周问题已解决
第十二周 33 350 这一周我学会了使用了分支机构解决多条件的数学问题,同时也学会了使用了字符型变量来解决问题。 该周问题已解决
第十三周 30 450 这一周我学会了使用了分支机构中的switch语句解决更加复杂的问题,同时也学会使用多个语句相互结合解决问题。 该周问题已解决。
第十四周 33 500 这一周我学会了使用了分支机构中的while和do——while语句解决不定循环次数的问题,同时也学会了使用if——else结合while语句相互结合解决问题。 这一周无较大问题。

3.2 累积代码行和博客字数(5分)

周/日期 博客字数 代码行数
第八周 840 120
第九周 980 180
第十周 1500 260
第十一周 1650 280
第十二周 1750 350
第十三周 1900 450
第十四周 2200 500

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

这一周学习c语言的过程中也是依旧有趣呢,同时也感觉到了学习压力也渐渐增大,学习的知识也越来越难,题目越来越难越来越灵活,而不是像以前一样不用动脑就可以写出来的题目了,同时,题目数量也开始增多了,但是这并不能让我退缩,反而是让我激流勇进的学习,希望自己在大学未来四年李能够学到足够多的知识,让自己能够越来越好越来越优秀,努力提升自己,加油!!!

原文地址:https://www.cnblogs.com/123456lf/p/14081049.html