C语言I博客作业08
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业008 |
我在这个课程的目标是 | 对于学过的内容,可以很熟练的进行编程,而且还可以看懂代码的每一步代表着什么意思,训练自己找错的能力 |
这个作业在那个具体方面帮助我实现目标 | 做PTA作业可以巩固学的知识,并且找到自己不足。而且在代码互评环节可以学习到别人的长处 |
参考文献 | 百度、《C Primer Plus》第六版,C语言程序设计、PTA常见问题解答 |
1.PTA实验作业
1.1题目名1
输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!
1.1.1数据处理
数据表达:运用了字符型数据,定义了number变量,是整型变量
数据处理:
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
11111111 | 255 | 例题数据 |
34 | error input! | 例题数据 |
110111101 | 455 | 含有1和0的数字 |
456 | error input! | 测试不是二进制的数字 |
1110 | 14 | 随机测试的一个二进制的数字 |
1.1.4PTA提交列表及说明
1.部分正确:用vs测试,发现如果满足二进制,则答案是正确的;但如果不满足二进制,就会出现一个情况:如果是输入34,输出结果是error input!4,弄了很久,在input后面总会有个数字,我知道哪一句有问题,但是我却不知道怎么去改,问了同学,说要用字符型数据(思路见上面伪代码)
1.2 题目名2
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。
1.2.1 数据处理
数据表达:定义了3个变量:x、s、count,都是整型变量,并且给它们都赋值为0
数据处理:
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
31 | 3584229390681 15 | 例题上的数据 |
19 | 5847953216374269 18 | 随机输入的数字进行测验 |
29 | 38314176245210727969348659 28 | 随机输入的数字进行测验 |
15 | 一直出现407407 | 输入一个位数是5的数字进行测验 |
1.2.4 PTA提交列表及说明
1-3.编译错误:前面两次以为是修改的都是错误的,其实我真正错的地方是16行count打成了conut,导致了编译错误(因为这道题是挑战题,所以先在vs上测试的,但也做了好久,真的越搞越崩溃)
2.代码互评
2.1同学代码截图(计科2班高茗同学)
2.2自己代码截图
2.3比较结果
1.我们的方式不太一样,我是定义了变量people,但是没有给这个变量赋值,而她的是给变量先赋值1,然后再慢慢累加,直到加到符合条件为止
2.这道题比较简单,所以不同点一般都只是计算的方式不一样,我觉得我和她的方法都可以,看自己的习惯吧
2.4同学代码截图(计科3班李双同学)
2.5自己代码截图
2.6比较结果
1.我们采用的计算方法不一样,她采用的方法是看时间是否为单数或者双数,如果是单数,蜗牛是向上爬的;如果是双数,蜗牛是向下划的。就这样一直计算,直到爬出的距离超过井深
2.我采用的是逆向思维,从井口到井底,运动一次,加一次时间,我就没有分单数和双数。这个看个人的思维,思维不一样,算法也不一样,我觉得都很赞
3.学习总结
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9.19-3.27) | 6天 | 26行 | Hello world编程和Markdown语法 | 现在没有疑惑 |
第二周(9.25-10.4) | 4天 | 45行 | 华氏度与摄氏度的转换 | 对于变量的类型还不是很懂 |
第三周(10.8-10.11) | 3天 | 大约100行左右 | 计算分段函数和学习if-else语句 | 对于if-else语句还是不那么熟练 |
第四周(10.15-10.17) | 3天 | 大约75行左右 | for循环语句和指定次数的循环程序设计 | 关于指定次数的循环程序设计还不是很清楚 |
第五周(10.22-10.25) | 4天 | 大约110行左右 | 使用自定义函数来编程和生成乘方表和阶乘表 | 关于自定义函数的编程的细节还是不太懂 |
第六周(10.29-11.1) | 4天 | 大约120行左右 | 运用分支结构编程、字符型数据、逻辑运算符 | 对于逻辑运算符还不是很清楚,有一点点懵 |
第七周(11.6-11.8) | 3天 | 大约150行左右 | 运用switch语句来编程 | 现在感觉没有什么疑惑点,可能还没发现 |
第八周(11.12-11.15) | 3天 | 大约200行左右 | 进一步学习循环结构,学习了while和do-while语句 | 目前还没有发现什么疑惑点 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
这一周我们进一步学习了循环结构,学习了while和do-while语句,while和for循环语句不同点在于在面对不知道循环的具体次数时,用while语句就更好;而do-while语句与while语句的最大区别是do-while的循环体至少无条件执行一次。再说说PTA作业吧,第1、2、4题还好,第三题要用到字符型数据,所以这个让我琢磨了好久,又是看书,又是查询百度,又问同学,才把它弄出来,但是自己还一直在慢慢琢磨,希望能完全吃透。学习之路还很长,加油吧!(老师,那个代码截图必须要有名字标识,但是那个图片太大了,不太美观呀!)