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

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

    1.PTA实验作业

    1.1 换硬币

    将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
    输入格式:
    输入在一行中给出待换的零钱数额x∈(8,100)。

    输出格式:
    要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。

    输入样例:

    13
    

    输出样例:

    fen5:2, fen2:1, fen1:1, total:4
    fen5:1, fen2:3, fen1:2, total:6
    fen5:1, fen2:2, fen1:4, total:7
    fen5:1, fen2:1, fen1:6, total:8
    count = 4
    
    

    1.1.1数据处理:

    数据表达:用了变量f5, f1, f2, total, count, x;x是用户输入值,f5, f1, f2,分别用于计算5分,1分,2分的硬币个数,total是所用硬币个数,count是换法个数;f5, f1, f2, total, count, x都是整形变量。
    数据处理:

        定义一些用于运行代码的变量
    	 输入
    	if (判断x的取值范围) {
    		for (先从5分硬币最多开始计算)
    			for (2分硬币最多开始计算) {
    				利用输入与f5和f2之间的关系得到f1
    				if ( 进行输出判断) {
    					计算总硬币数
    					输出数据
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    9 fen5:1, fen2:1, fen1:2, total:4 count = 1 9是待换的零钱数额,fen5, fen2, fen1,是分别所需硬币的个数,total 是总共所需硬币数量,count是换法总数;
    10 fen5:1, fen2:2, fen1:1, total:4 fen5:1, fen2:1, fen1:3, total:5 count = 2 10是待换的零钱数额,fen5, fen2, fen1,是分别所需硬币的个数,total 是总共所需硬币数量,count是换法总数;
    11 fen5:1, fen2:2, fen1:2, total:5 fen5:1, fen2:1, fen1:4, total:6 count = 2 11是待换的零钱数额,fen5, fen2, fen1,是分别所需硬币的个数,total 是总共所需硬币数量,count是换法总数;

    1.1.4 PTA提交列表及说明

    部分正确:我把内外循环里面的变量弄反了

    1.2 跟奥巴马一起画方块

    美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

    输入格式:

    输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。

    输出格式:
    输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。

    输入样例:

    10 a
    

    输出样例:

    aaaaaaaaaa
    aaaaaaaaaa
    aaaaaaaaaa
    aaaaaaaaaa
    aaaaaaaaaa
    
    

    1.2.1 数据处理

    数据表达:用了变量n,i,m,j,a;n,a,ch是用户输入的数据,i,j用于循环判断,m是方便用于四舍五入取整;n,i,m,j,a是整形变量,。
    数据处理:

            定义变量
    	输入数据
    	if (对输入进行判断) {
                    通过对(输入%2)取余数的方法进行四舍五入取整		
    		    嵌套循环输出字符
    		}	
    

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    4 b bbbbbbb 4是确定正方形的边长,b是组成正方形边的某种字符
    3 c cccccc 3是确定正方形的边长,c是组成正方形边的某种字符
    5 a aaaaaaaaaaaaaaa 5是确定正方形的边长,a是组成正方形边的某种字符

    1.2.4 PTA提交列表及说明

    部分正确:我把ch = getchar()放入循环内了

    2.代码互评

    同学代码截图:

    同学代码截图:

    自己代码截图:

    1.第一个同学:该同学的代码和我的代码风格大致相同,但我认为该同学可以将两个int合并,并且我对于这个题目的算法我也不是很清楚,所以我在输出的时候我多加了if判断一下,现在看来可能是多余了。
    2.第二位同学:该同学在解决问题时用了3个for循环,在能用更低次数的for循环就尽量用最低次数对的for循环,因为对循环次数很大的程序需要考虑执行效率问题。
    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循环之间的区别,并对在相应环境用最合适的循环有了初步认识 题目做的比较慢,一些基本知识还是不够扎实
    第十三周 16h 183 学到了嵌套循环和break,continue语句 不能很好的把所学的东西交叉运用

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    1.在新的一周中我学习了break语句和continue语句,并了解到break可以结束循环,continue是跳过后面语句继续循环,在多条件控制的循环语句后,经常需要由条件语句来区分不同的情况。
    2.在此次作业中,我感觉我好不容易提上来的做提速度有所下降,我觉得这可能是最近做事不怎么上心的原因,所以我希望在以后的的时间里继续提高自己的解题速度,同时解题质量也要有保证哈。
    3.从最近这几天做题目的情况看来,我还需要更加努力,同时我希望自己弄点休闲时间来看些课外书。

  • 相关阅读:
    ADO.NET FOR MySQL帮助类
    遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包
    history.back();谷歌浏览器,iframe后退问题
    Request.url请求属性
    正则表达式 取两字符中间的字符串(双向非贪婪模式)
    MVC 项目中为什么会有两个web.config
    c#动态编译并动态生成dll
    siteserver cms选择栏目搜索无效
    jquery修改Switchery复选框的状态
    ntko office在线编辑控件问题记录
  • 原文地址:https://www.cnblogs.com/a1205506698/p/11880347.html
Copyright © 2011-2022 走看看