C语言I博客作业08


这个作业属于哪个课程 c语言程序设计
这个作业要求在哪里 作业要求
这个作业的目标 熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题
学号 <20208998>

一、PTA实验作业。(20分/题)

1.1 题目名1:打印九九口诀表。

题目描述:

1.1.1数据处理。

数据表达:用了i,j,N这些变量;N通过用户输入得来; i,j,N都是整型变量。
数据处理:表达式有j*i;运用了循环嵌套。

1.1.2实验代码截图。

1.1.3 造测试数据。

输入数据 输出数据 说明
4 1x1=1\ 1x2=2 2x2=4\ 1x3=3 2x3=6 3x3=9\ 1x4=4 2x4=8 3x4=12 4x4=16 打出四行以内的口诀表
5 1x1=1\ 1x2=2 2x2=4\ 1x3=3 2x3=6 3x3=9\ 1x4=4 2x4=8 3x4=12 4x4=16\ 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 打印五行以内的口诀表
2 1x1=1\ 1x2=2 2x2=4 打出两行以内的口诀表

1.1.4 PTA提交列表及说明。

部分正确:没有按题目要求等号右边对其四位。
编译错误:在循环嵌套的时候把内循环的大括号弄掉了,后面通过dev编译查得。
编译错误:输出的公式符号没有和后面的变量相对应。

1.2 题目2:幸运彩票。

题目描述:

1.2.1 数据处理。

数据表达:用了N,i,a,b,c,b1,c1,sum1,sum2这些变量;a通过用户赋值得来,i是循环数据,
         b,c分别是整个数的后三位与前三位,sum1,sum2分别是求和结果;都是整型。
数据处理:用了b=a%1000,c=a/1000,b1=b%10,sum1=sum1+b1,c1=c%10,c=c/10,sum2=sum2+c1,b=b/10;使用了循环嵌套。

1.2.2 实验代码截图。

1.2.3 造测试数据。

输入数据 输出数据 说明
2/233008/123456 You are lucky!/Wish you good luck. 第一个前三位和等于后三位和,是幸运的,第二个不是幸运彩票。
1/222222 You are lucky! 这个数是幸运彩票。
4/123123/222331/567765/667766 You are lucky!/Wish you good luck./You are lucky!/You are lucky! 只有第二个不是幸运彩票,其他三个数都是。

1.2.4 PTA提交列表及说明。

格式错误:输出的答案没有换行 ,在PTA测试区测试对比得知。
答案错误:一开始得到的测试用例的答案正确,但提交却答案错误说明其他数据输入得到的答案不对,
         后面去dev输入一组数据调试过程中发现幸运数据组后的求和sum1与sum2没有归零,导致错误。

二、代码互评。(5分)

同学代码:


自己代码:

相比较我的缺点:一眼就可以看出我的代码比较长,可能是我自己有可以省略的地方也加上去了。
其优点:第二个同学将六位的数直接拆分为六个数,再判断前三位与后三位是否相等,
       没了我的那么复杂,也不需要我的后面那部分求和结果归零化,这位同学特别有想法。
其优点:第一个同学跟我想法差不多,但他那结果归零化直接放在第一个循环下面,而我放在了末尾,导致代码长度加长了,这位同学的代码很值得学习。

三、学习总结。(15分)

3.1 学习进度条。(5分)

周/日期 这周所花的时间 学到的知识 目前不懂的问题
第八周 7h 总结各类符号,语句,表达式,变量等 语句符号会混用
第九周 9h 分支结构雏形 会漏掉输出语句
第十周 9h 循环结构雏形 表达式不太会写
第十一周 8h 调用函数 不知道怎么去调用函数
第十二周 13h 分支结构,字符型数字类型,逻辑运算符 多分支时不知如何分
第十三周 8h switch语句 不知道怎样区分switch语句与if-else语句
第十四周 14h while语句 有时候用while循环与经常会出现运行超时的情况,并且也不太会改
第十五周 20h break,continue语句,循环嵌套 break与continue具体区分

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

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

3.3.1 学习内容总结。

关于跳出多重循环的问题:

1.最快的方法是使用goto,可以快速跳出多重循环,但建议少使用goto语句。
2.可以写成函数return,但函数参数传递很麻烦。
3.直接修改外层循环条件,当最内层得到不符合外层条件的数直接跳出循环。
4.在大循环后面判断标志加入break。

3.3.2 学习体会。

1.本周学习了break与continue两个语句以及循环嵌套,两个语句都有其各自的适用性,break用于跳出本层循环,continue不执行后面的语句。
2.本周的循环嵌套在上周的PTA就用过,那时写作业总是会出现运行超时的情况,这周深入的学习了嵌套,对于循环嵌套,需要仔细的写每一步的代码,因为你不知道什么时候就死循环了。
3.这次的PTA作业难度有点大,让我感觉自身真是才学疏浅,很多问题都不知道如何解决,但总得找到解决的办法才行,慢慢的请教同学,发现我们之间差距还是很大的。
4.代码互评是个很好的题目,拿出自己的代码与同学的相比较,会明显发现自己的缺点和不足,也可以很好的学的自己不总的知识点 ,以及一些可以省略的部分。
5.调试是在做题的过程中很好的一个解决方案,当你不知道自己错在哪,但就是错了,这时候就需要调试过程了,调试过程观察每一个变量的变化,很清晰的可以观察的那部分不适用,也很快能找到解决方案,而不是固步自封的向同学求解,很多不懂的都必须自己去尝试求解,直到自己实在不知道哪里错了,向同学求解才是正道。
6.当在做题目实在没思路时,可以看看同学的代码,但不是照抄,而是理解同学的思路,再得到自己脑子的思路,再继续把自己所想的代码敲出来,这才是做题的正确方法。
7.在做每一个题目的时候都需要一定的过程,特别是在比较难的题时,想很久也没有思路,我们不能急于求成,这题太难可以先放一边,让自己的脑海捋一捋,说不定,在某个时刻就有了思路。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM