• C语言|博客作业08


    一、本周教学内容&目标

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

    二、本周作业头

    问题 答案
    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9977
    我在这个课程的目标是 熟练使用c语言进行编程
    这个作业在那个具体方面帮助我实现目标 使我灵活使用while和do-while结构解决问题
    参考文献 https://wenku.baidu.com/view/152b703359fb770bf78a6529647d27284b73372c.html

    三、本周作业

    1.PTA实验作业

    请再此处列出自己的排名图片,如:

    从PTA题目集中选出2个你最满意的题目完成以下内容:

    1.1求整数的位数及各位数字之和

    对于给定的正整数N,求它的位数及其各位数字之和。

    1.1.1数据处理

    (1)数据表达:我先用int定义i,m(正整数N),a(各个位数)及sum(各位数字之和)我在这里主要用的是for语句,然后用式子a=m%10得出正整数m的各个位数,用m/=10得出位数,最后根据sum+=a得出各位数之和。
    (2)数据处理:(伪代码):
    int /定义变量/
    scanf()
    for()/循环/
    a=m%10;/正整数m的各个位数/
    m/=10;/得出位数/
    sum+=a;/各位数之和/
    输出结果

    1.1.2实验代码贴图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    321 3 6 这个数是三位数,位数之和是6
    345 3 12 这个数是三位数,位数之和是12
    89877 5 39 这个数是五位数,位数之和是39

    1.1.4 PTA提交列表及说明


    说明:(1)编译错误:在输出时没加上“i”。
    改正错误:在“printf”输出里面加上“i”。

    1.2 韩信点兵

    在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:

    按从1至5报数,记下最末一个士兵报的数为1;
    再按从1至6报数,记下最末一个士兵报的数为5;
    再按从1至7报数,记下最末一个士兵报的数为4;
    最后按从1至11报数,最末一个士兵报的数为10;
    请编写程序计算韩信至少有多少兵。

    1.2.1数据处理

    (1)数据表达:我先用int定义士兵数m,且我在这里主要用的是for语句,并根据题意列出“(m % 5 == 1) && (m % 6 == 5) && (m % 7 == 4) && (m % 11 == 10)”,最后得出结果。
    (2)数据处理:(伪代码):
    int /定义变量/
    for()/循环/
    if(m % 5 == 1) && (m % 6 == 5) && (m % 7 == 4) && (m % 11 == 10)/士兵数目/
    printf()/输出结果/

    1.2.2实验代码贴图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    无输入数据 2111 韩信至少拥有士兵为2111人

    1.2.4 PTA提交列表及说明


    说明:(其实这题我本来并不想讲,只是我写这题用的时间仅次于第三题,且问题较大,所以拉出来讲)(1)编译错误:很明显这是要做一个判断语句,但我在写“(m % 5 == 1) && (m % 6 == 5) && (m % 7 == 4) && (m % 11 == 10)”时用的都是“=”号,结果就有错误
    改正错误:在里面加上双“=”
    (2)编译错误:我本想用while语句,就直接写的“while(m = 1;; m++)”结果发现有问题,因为我后面又用了if语句,而while后面要加(条件) { 执行的语句 }。还有其实我不知道为什么"m = 1和m++"之间是两个分号,同学说是要多加一个分号,这里我倒还没弄懂。
    改正错误:刚开始我是想把if去掉彻底改成while语句格式,但想了想,发现可以直接把while改成for就可以了,所以我就直接把while改成了for.在"m = 1;m++"之间多加个分号。

    2.代码互评(7-1) 求整数的位数及各位数字之和

    同学截图:
    我的截图:
    区别:(1)说实话,这位同学第一排的意思我不咋懂(2)这位同学主要用的while语句而我用的是for语句(3)相较来说我们两个的思路是一样的,但我的相对于更简便。
    同学截图:
    我的截图:
    区别:(1)这位同学同样也用的while语句(2)他定义的量相比我的更少,就更易懂,其它方面的话就差不多了。

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
    1/21-1/23 三天 47 基础的代码知识 代码符号不了解
    2/26-2/29 四天 64 学会用MinGw-w64来编译C程序 编译的错误点难找
    3/9-3/11 三天 99 学会了赋值和“If-else句式”的运用 编程的熟练度不高
    4/16-4/18 三天 87 学会运用代码进行计算 对于式子难以列出来
    5/22-5/25 四天 98 对函数的调用有了初步认识 对于一些c语言的符号和语法还是不懂
    6/30-6/1 三天 113 初步熟悉了多分支结构、字符型数据类型和逻辑运算符 在看到某个数字和符号一起时还是会迷茫
    7/5-7/7 三天 112 初步熟悉了多分支结构switch语句的使用 对于用什么表达式还比较迷
    8/12-8/14 三天 110 初步熟悉使用while和do-while结构解决问题 在写字符时有点对字符的含义理解模糊

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    请用思维导图的形式将到目前为止所学的内容进行整理。

    3.3.2 学习体会

    转眼间C语言作业已经写到了了第八周,我对于这八次的学习其实收获还挺大的,学会到了各个C语言编程语句(for语句,if-else语句,switch语句等等),以及各种字符(虽然现在对于某些字符含义还是不懂),但我相信,只要我继续去熟记C语言方面的句型和字符意义,我一定会有很大进步的,天不生我,万古如长夜,加油吧,少年!

  • 相关阅读:
    JavaScript数据类型(第一天)
    数据库的事务隔离级别
    SSH(远程登录)原理
    Hadoop安装
    activiti学习第二天
    activiti学习第一天
    .net调用系统软键盘(兼容win7及win10)
    使用Blend设计出符合效果的WPF界面
    Mysql的收获
    PHP文件上传安全处理的步骤
  • 原文地址:https://www.cnblogs.com/wl1314/p/11848013.html
Copyright © 2020-2023  润新知