zoukankan      html  css  js  c++  java
  • C语言I博客作业08

    这个作业属于哪个课程 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语言有时候很难,有时候亦有趣。放弃很容易,但坚持一定很酷!继续加油。

  • 相关阅读:
    jQuery-选择器
    Html-CSS-细节处理
    JS-练习题
    将博客搬至CSDN
    Linux学习(推荐学习资源)——保持更新
    借助Git实现本地与GitHub远程双向传输(同步GitHub仓库)以及一些使用错误解决
    Linux学习使用Vim
    linux学习之Ubuntu
    在docker中创建使用MySQL,并实现远程连接navicat
    Swing系列之控件一
  • 原文地址:https://www.cnblogs.com/coolyingying/p/11859122.html
Copyright © 2011-2022 走看看