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

    一、本周教学内容&目标

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

    二、本周作业头

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 <C语言I作业08>
    我在这个课程的目标是 <学会循环结构,了解并熟悉while和do-while结构解决问题>
    这个作业在那个具体方面帮助我实现目标 <能让我更加熟系while和do-while结构>
    参考文献 <<集美大学林丽老师>>

    三、本周作业

    1.PTA实验作业
    2.代码互评
    3.学习总结

    四、作业格式

    1.PTA实验作业(20分/题)

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

    从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

    1.1 题目名1 (7-2 韩信点兵 (10 分))

    题目内容描述:

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

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

    输入格式:
    本题无输入

    输出格式:
    输出韩信至少拥有的士兵人数。

    1.1.1数据处理

    介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。

    数据表达:定义了一个整型变量i用于控制循环变量
    数据处理:
    表达式:i%51&&i%65&&i%74&&i%1110
    结构式:用了for循环语句以及使用break跳出循环

    伪代码:

    include<stdio.h>

    int main()
    {
    int i=0; //定义变量i,i用来表示韩信的兵
    while(7)
    for (i = 1;; i++) //使用for循环结构
    {
    if ((i % 5 == 1) && (i % 6 == 5) && (i % 7 == 4) && (i % 11 == 10)) //根据题意写出每次报数的数据
    {
    printf("%d\n", i);

              return 0;
        }
    }
    

    }

    1.1.2实验代码截图

    贴图展示代码,不要复制。请给出名字标识。

    1.1.3 造测试数据

    输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明

    输入数据 输出数据 说明
    7本题无输入 本题无输入 2111人

    1.1.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法

    答案错误:在(i % 5 == 1) && (i % 6 == 5) && (i % 7 == 4) && (i % 11 == 10))加上了;
    本题的难点就在于i%51&&i%65&&i%74&&i%1110 这个条件,在这上面多花一点功夫就好。

    1.2 题目2(7-5 爬动的蠕虫 (15 分))

    题目内容描述

    一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?

    这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

    输入格式:
    输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。

    输出格式:
    在一行中输出蠕虫爬出井的时间,以分钟为单位。

    输入样例:
    12 3 1
    输出样例:
    11

    1.2.1 数据处理

    介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。

    数据表达:使用了N,U,D,L,time.5个变量,N代表井的深度,U和D分别代表蠕虫一分钟能向上爬与向下滑了多少寸,L表示蠕虫爬行的距离,time表示爬行所用的时间
    数据处理:
    数据类型:year,mouth, day, number都为整型。
    表达式:while(L<N){
    time++;
    L=L+U;
    流程结构:while结构。

    伪代码

    include <stdio.h>

    int main()
    {
    int N,U,D,L; //n为井的深度,u为蠕虫一分钟爬的距离,D为休息时下滑的距离,time为爬出井的总时间,L为蠕虫爬行的距离。
    scanf("%d %d %d",&N,&U,&D);
    int time;
    time=L=0;
    while(L<N){ //当爬行的距离小于井的深度时
    time++; //time=time+1
    L=L+U; //蠕虫爬行的距离等于之前的加上所爬的距离
    if(L>=N) //当爬行的距离大于等于井的深度时
    break; //跳出语句
    L=L-D; //计算爬虫总距离减去下滑的距离
    time++; //加上爬虫休息的时间
    }
    printf("%d",time);
    return 0;
    }

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    15 4 3 23 如果井深为15寸,蠕虫每分钟爬行4寸,休息时下降3寸,则需要23分钟才能爬上去
    10 5 2 5 如果井深为10寸,蠕虫每分钟爬行5寸,休息时下降2寸,则需要5分钟才能爬上去
    9 5 4 9 如果井深为9寸,蠕虫每分钟爬行5寸,休息时下降4寸,则需要9分钟才能爬上去
    15 5 2 9 如果井深为15寸,蠕虫每分钟爬行5寸,休息时下降2寸,则需要9分钟才能爬上去

    1.2.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法

    1.编译错误:在第5行的函数定义上多加了一个;导致语句停止。

    2.代码互评(5分)

    找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

    第一张 (7-2 韩信点兵)

    同学代码截图 <<[C语言I作业08 戳你脸 (https://www.cnblogs.com/lky-29/p/11858200.html)>>

    自己代码截图

    答:第一个同学的代码和我的有很多不同
    1.我用的代码定义了变量i,运用while语句,而他则定义n运用for循环语句。

    第二张 (7-13 整数的分类处理)

    同学代码截图

    自己代码截图

    答:第二个同学
    1.同学的代码用的是for循环,而我的代码用的是while语句以及if-else语句

    3.学习总结(15分)

    $3.1 学习进度条(5分)

    |周/日期 |这周所花的时间| |代码行 |学到的知识点简介 |目前比较迷惑的问题|
    |-|-|-|-|-|
    |第六周| 8小时 |300行 |常用的数学函数,if-else语句,for语句,自定义函数 |不会用自定义函数|
    |第七周 |7小时 |400行 |二分支结构和用char输入字符 |对于字符型的代码有点看不懂|
    |第八周| 10小时 |420行 |多分支结构,switch语句 |switch语句用得有点混乱|
    |第九周 |13小时 |450行 |自定义函数的用法,怎样用一个算法来运算多个式子 |if语句的嵌套不明白是怎样分支的|
    |第十周| 18小时 |500行 |多分支结构、字符型数据类型和逻辑运算符 |目前不太熟练并且字符型还没熟悉|
    |第十一周|12小时|600行|熟悉多分支结构switch语句的使用|switch后的表达式是否有要求|
    |第十二周 |8 |205 |do-while语句和while,for语句的区别 |continue不知道怎么去用|

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

    时间 博客字数 代码行数
    第六周 585 300
    第七周 1366 400
    第八周 1624 420
    第九周 1583 400
    第九周 1891 500
    第十周 1921 550
    第十一周 2377 600
    第十二周 1656 620

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

    3.3.1 学习内容总结

    3.3.2 学习体会

    请回顾自己的本周的学习过程,描述学习感受,也可以提出你不理解的地方、对教师教学建议等。如果你有新的想法或者新的方法,请及时记录下来。

    1.本周我们学习了do-whule语句,并且把while语句,do-while语句和for语句的区别弄清楚了。
    2.for语句和do-while语句都是先判断符不符合条件再执行循环体,一般在知道循环次数的情况下使用for语句,不知道循环次数则使用while语句。
    3.do-while语句是不管怎样都会先执行一次循环体,再判断是否符合条件,再执行循环体
    4.百度是个好东西,尤其是对于初学者来说!
    5.希望自己多学一点,走在老师前面

  • 相关阅读:
    原来不是女的是男生啊,这才科学么吓死我了
    实现“老木马”关键技术之一自启动
    映像劫持(IFEO)的原理及实现
    设计模式学习使用go实现装饰模式 Zhan
    设计模式学习使用go实现适配器模式 Zhan
    设计模式学习使用go实现模板模式 Zhan
    设计模式学习使用go实现观察者模式 Zhan
    设计模式学习使用go实现外观模式 Zhan
    设计模式学习使用go实现责任链模式 Zhan
    设计模式学习使用go实现组合模式 Zhan
  • 原文地址:https://www.cnblogs.com/caoxudong123/p/11848035.html
Copyright © 2011-2022 走看看