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

    这个作业属于那个课程
    这个作业要求在哪里
    我在这个课程的目标是
    这个作业在那个具体方面帮助我实现目标
    参考文献

    1.PTA实验作业

    1.1 整除光棍

    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

    提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

    输入格式:

    输入在一行中给出一个不以5结尾的正奇数x(<1000)。
    输出格式:

    在一行中输出相应的最小的s和n,其间以1个空格分隔。

    输入样例:

    31
    

    输出样例:

    3584229390681 15
    

    1.1.1数据处理:

    数据表达:定义了x,s,n;x是用户输入的值,s,n通过赋值;它们都是整形变量。
    数据处理:

    x是一个不以5结尾的正奇数x(<1000),s表示x乘以s是一个光棍,n是光棍的位数;
    	while (使初始光棍数/x的余数大于1) {
    		逐渐增加光棍的位数
    			}
    	
    	do {
                判断光棍数%x是否=0;
    		如果不是,继续逐渐增加光棍的位数;
    
    	} while (循环条件为光棍数%x不等于0);
    
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    41 271 5 41是被光棍所除的正奇数,271是表示271*41=最小光棍数,5是光棍的位数
    17 65359477124183 16 17是被光棍所除的正奇数,65359477124183是表示65359477124183*17=最小光棍数,16是光棍的位数
    39 2849 6 39是被光棍所除的正奇数,2849是表示2849*39=最小光棍数,6是光棍的位数

    1.1.4 PTA提交列表及说明

    我在vs上面运行无误后复制粘贴。

    1.2 爬动的蠕虫

    一条蠕虫长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,sum,time;N, U, D,是用户输入值,sum用来记蠕虫距井口的距离,time用来记录蠕虫所爬的时间;N, U, D,sum,time,都是整形变量。
    数据处理:

    
    	while (判断蠕虫所爬距离与井的高度) {
                分别记录蠕虫所爬的距离与时间;
    		if (判断蠕虫所爬距离与井的高度) {
    			分别记录 蠕虫所爬的距离-休息时所滑的距离与蠕虫所爬的距离;	
    		}
    	}
    
    

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    187 4 2 185 187是井的高度,4是蠕虫1分钟所爬的高度,2是蠕虫休息1分钟所滑落的高度,185是蠕虫的头部到达井的顶部所花的时间
    9 2 1 15 9是井的高度,2是蠕虫1分钟所爬的高度,1是蠕虫休息1分钟所滑落的高度,15是蠕虫的头部到达井的顶部所花的时间
    46 3 1 45 46是井的高度,3是蠕虫1分钟所爬的高度,1是蠕虫休息1分钟所滑落的高度,45是蠕虫的头部到达井的顶部所花的时间

    1.2.4 PTA提交列表及说明

    部分正确:我把sum < N错写成了sum <= N,忽略了蠕虫的头部到达了井的顶部,蠕虫就完成任务了这一条件,后来我把=删除后就答案正确了

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

    对于给定的正整数N,求它的位数及其各位数字之和。
    输入格式:
    输入在一行中给出一个不超过10^9
    ​​的正整数N。

    输出格式:

    在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

    输入样例:

    321
    

    输出样例:

    3 6
    

    1.3.1数据处理:

    数据表达:定义了变量n, m,count;n是用户输入值,m和count通过赋值得到;都是整形数据。
    数据处理:

            定义变量
    	do {
    		通过求余数的方法,计算各位数字之和;
    		逐步减少n的位数;
    		通过循环累加位数;
    	} while (循环的条件是n不为0)
                输出数据
    
    

    1.3.2实验代码截图

    1.3.3 造测试数据

    输入数据 输出数据 说明
    4323 4 12 4323是输入的正整数,4是输入的位数,12是各位数字之和
    99999 5 45 99999是输入的正整数,5是输入的位数,45是各位数字之和
    131 3 5 131是输入的正整数,3是输入的位数,5是各位数字之和

    1.3.4 PTA提交列表及说明

    我在vs上面运行无误后复制粘贴。

    2.代码互评

    同学代码截图:

    同学代码截图:

    自己代码截图:

    1.第一个同学的代码比我的代码多定义了一个变量,我认为他的代码中a完全可以用number取代,另外该同学用的是while循环,我用的是do-while循环,对于这个题目来说只是风格不同而已,没有很大的差别;
    2.第二位同学虽然定义的变量和我的一样,但我感觉他的代码比第一位同学的代码更复杂一些,我认为可以改进的地方有:if可以用while取代,然后再把else改为if(N==0),还有就是他的两个printf可以合并;
    3.总体来说:我们编写代码,尽量用最简单的代码编出最实用的程序,用自己所学的知识编好代码,因为每个人都有每个人的习惯,所以编写代码时按照自己的思维来写是最好的。

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周 17h 121 定义两个变量,对for循环有更进一步的了解 对于基本知识还是不够扎实
    第九周 20h 178 while循环,定义和调用函数 对于定义和调用函数还是不怎么了解
    第十周 18h 143 for循环和if-else语句之间嵌套 读完题目后大脑里面没有相应的代码
    第十一周 17h 193 switch可以处理多分支问题 对于编程题不能很快的写出代码
    第十二周 15h 156 新学了do-while循环,了解了for,while,do-while循环之间的区别,并对在相应环境用最合适的循环有了初步认识 题目做的比较慢,一些基本知识还是不够扎实

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    1.对于自己学到了新的知识感觉很开心,觉得自己以后每天都尽量学到一些知识,自己的作业水平及有关电脑方面的知识一定会提高;
    2.做PTA时,我觉得应自己先写代码,然后运行,自己实在找不到错误,然后再到网上去搜相应的题目,经过对比找到自己的错误,这样自己会一步一步前进;
    3.我希望自己在以后的时间里多利用一些零碎时间去学习有关像编程,网页设计,PS,PR,之类的知识,提高自己的知识储存量。

  • 相关阅读:
    浅谈页面中的焦点
    简单的jQuery幻灯片实现
    从is(":checked")说起
    通过Javascript得到URL中的参数(query string)
    Javascript设置对象属性为"只读"
    Javascript判断两个日期是否相等
    利用HttpWebRequest访问WebApi
    利用Newtonsoft.Json实现Json序列化与反序列化
    在ASP.NET MVC中以post方式传递数组参数的示例
    SQL Server 锁表、查询被锁表、解锁相关语句
  • 原文地址:https://www.cnblogs.com/a1205506698/p/11861906.html
Copyright © 2011-2022 走看看