• C语言I博客作业08


    这个作业是属于哪个课程 C语言程序设计II
    这个作业要求在哪里 作业要求
    我在这个课程的目标是 学到更多的语言编程技术
    这个作业在那个具体方面帮助我实现目标 熟悉while 与dowhile语句
    参考文献

    1.PTA实验作业

    1.1:7-5 爬动的蠕虫 (15 分)

    一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
    这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

    1.1.1数据处理
    数据表达:定义了N,U,D,t,x整型变量

    数据处理:

    while(x<N) //while 语句循环 判定条件为当x行驶的距离小于N时循环
    x=x+U; //
    t++; //爬行1分钟
    if(x>=N) //爬完后距离大于了井深,跳出循环
    break;
    x=x-D;
    t++; //休息一分钟 x减去滑行时间
    printf("%d",t);

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    12 3 1 11 正确
    8 2 1 8 正确
    8 3 1 4 正确

    1.1.4 PTA提交列表及说明

    1.答案错误:一开始做题时思考的简单了,直接用U-D来表示,但时间只累加一次,所以错误。
    2.多种错误,编译错误:尝试修改分别考虑下滑与爬行,期间就多次尝试,大意漏了分号。
    3.部分错误:这里要求不足1分钟按1分钟计,所以我的if 条件判断时漏了x=N的情况。


    1.2 7-6 整除光棍 (20 分)

    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。
    提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

    1.2.1数据处理
    数据表达:

    for(i=1;; i++) //运用for循环 用i来计位数。
    x=x*10+1; //x进行累加乘10加1,进行光棍数。
    if(x>=n) //判断了x>n
    printf("%d",x/n);//用x/n 来输出结果。
    x=x%n; //当x取余后等于0,则为整数输出。
    if(x==0)
    break;

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    11 1 2 正确
    121 9182736455463728191 22 正确

    1.2.4 PTA提交列表及说明

    这个题目我真的百思不得其解,这个最大光棍测试点到底是什么,我测试了很多组数据我都没有发现我漏考虑了哪个点。
    加上了一个printf (“0”)的情况后这个测试点就全部正确了。我十分不解。明明最初的商等于0的情况已经可以不用
    考虑了,但是为什么最后还要考虑之后商等于0的情况?

    2.代码互评

    同学代码:

    自己代码:

    1.在这个题目中getchar()相比scanf会更加简便,它可以考虑到空格的情况。而scanf()在读取数字时会跳过空格、制表符和换行符。getchar()是直接接收一个字符。

    2.因为用的输入方式不同,所以用getchar()更为简便。

    3.学习总结

    3.1 学习进度条

    日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
    10/7--10/13 5个小时 80 学到了if语句 暂无
    10/13--10/20 5个小时 100 学习for循环语句 暂无
    10/20--10/27 5个小时 98 学习了函数定义 暂无
    10/27--11/03 8个小时 196 学习了if分支语句,与逻辑符号先后 暂无
    11/03--11/10 9个小时 210 学习了switch语句 暂无
    11/10--11/17 9个小时 240 学习了while 与dowhile语句 pta的整除光棍的最大光棍测试点

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会
    最初的对于代码的陌生到现在对代码逐渐熟练,我觉得这跟平日里的刷题与批改作业有着密不可分的联系。
    小小的一段代码能体现你的思路流程,逻辑思维,为了一个测试点反复推敲。这是敲代码带给我的好奇乐趣。
    刷题最喜欢看到的就是最后提交时全部正确的红字,快感和成就感十分充实。但是最近状态有所下滑,晚自习
    也没有之前那么刻苦的去自学python,而是时不时的看看手机,自控力出现下降的情况。希望下周能有所好转。

  • 相关阅读:
    高度地形Unity3D 通过代码导入自定义格式地形的方法
    初始化提交CI跟swfupload结合 出现302的解决方案
    文件信息我的学习生涯(Delphi篇) 11
    相机三星如果我可以设计HTC ONE的相机
    数据数据库Apache Derby数据库
    安装索引源码阅读工具 lxr 安装配置初探
    模板替换php实战 第三天
    应用程序安装实验四十六微软应用程序虚拟化之一APPV 5.1服务器部署
    函数应用SAEPython教程(一) 在SAE上进行Python的开发
    消息方法熬之滴水穿石:Delphi曾经的利器(5)
  • 原文地址:https://www.cnblogs.com/Laaxgu/p/11856331.html
Copyright © 2020-2023  润新知