这个作业属于哪个课程 | C语言程序设计 |
---|---|
这个作业要求在哪里 | 作业 |
我在这个课程的目标是 | 学会使用C语言,并做一个属于自己的小程序 |
这个作业在哪个具体方面帮助我实现目标 | 学会结合已学内容做题 |
参考文献 | C语言程序设计(第三版);百度 |
1.PTA实验作业
1.1 输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!
1.1.1数据处理
数据表达:定义了一个字符型的变量:op,和一个整型变量a。
数据结构:
表达式:op=getchar())!='
';a=a*2+op-'0'
结构式:用了while循环语句其中还嵌套了if-else语句
伪代码:
定义变量;
while语句(条件);
if输入的字符为1or0;
则运行 a=a*2+op-'0';
否则 错误;
输出十进制;
返回0;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
11111111 | 255 | 该二进制对应的十进制为255 |
34 | error input! | 输入的数字不是二进制字符 |
1010 | 10 | 该二进制对应的十进制为10 |
1.1.4 PTA提交列表及说明
提交列表说明:
部分正确:'op'的限制条件没有写(op=getchar())!='
')
编译错误:a=a*2+op-'0'中的‘’没有写
1.2在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1;再按从1至6报数,记下最末一个士兵报的数为5;再按从1至7报数,记下最末一个士兵报的数为4;最从至11报数,最末一个士兵报的数为10;请编写程序计算韩信至少有多少兵。
1.2.1数据处理
数据表达:定义了一个整型变量i用于控制循环变量
数据结构:
表达式:i%51&&i%65&&i%74&&i%1110
结构式:用了for循环语句以及使用break跳出循环
伪代码:
定义变量i;
用if语句限制条件;
输出循环次数;
break跳出;
返回0;
1.2.2实验代码截图
1.2.4 PTA提交列表及说明
提交列表说明:
本题的难点就在于i%51&&i%65&&i%74&&i%1110 这个条件,搞清楚了该题就很容易写出。
2.代码互评
同学代码截图
自己代码截图
代码比较
首先该同学用的是while循环语句,而我使用的是for循环语句,并且我定义的变量是一些简单的字母。
同学代码截图
自己代码截图
代码比较
总的来说我的代码洁简看上去更舒服些,然后该同学的代码考虑的问题比我的多。体现了他的谨慎。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/14-20 | 5h | 100行 | for循环结构 | 不能够熟练for语句 |
10/20-27 | 7h | 120行 | 自定义函数 | 对定义和调用函数知识点上还是很模糊 |
10/28-3 | 8h | 380行 | char字符型 | 有些代码所用的格式 |
11/4-10 | 8h | 150行 | switch语句 | 怎么寻找到解题的正确思路 |
11/11-17 | 6h | 160 | do-while语句和其他循环语句 | 怎么综合运用已学内容 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
我觉得pta好难啊,有些题完全没有思路。。只能查百度,或者询问大佬,然后让我感到深深的自卑。总的来说,时间过得很快,知识点也越学越多,希望自己在吸收知识的同时能够很好的将知识应用起来,然后应该多思考问题,试着用多种方法解题,能够归纳总结。C语言有时候很难,有时候亦有趣。放弃很容易,但坚持一定很酷!继续加油。