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

    二、本周作业头

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030
    我在这个课程的目标是 学会更多编程技巧,以及学会更多知识
    这个作业在那个具体方面帮助我实现目标 通过学习嵌套循环来简约代码编程
    参考文献 <c语言程序设计>

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

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

    1.1 题目名1

    题目内容描述:
    下面是一个完整的下三角九九口诀表:
    1*1=1   
    1*2=2   2*2=4   
    1*3=3   2*3=6   3*3=9   
    1*4=4   2*4=8   3*4=12  4*4=16  
    1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
    1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
    1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
    1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
    1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  
    本题要求对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。
    

    1.1.1数据处理

    介绍实现本题过程中,你的数据表达、数据处理是怎么做的。

    数据表达:用了j,i来表示乘法表的行和列的变量,运用了嵌套循环类型结构
    数据处理:运用for语句进行嵌套循环,for(i=1;i<n;i++) //表示乘法口诀的列。
    再次运用for(j=1;j<i;j++) //进行嵌套表示乘法口诀的行。
    再printf("%d*%d=%-4d",j,i,j*i) //表示输出乘法口诀的值的表示。
    printf("
    ") //表示下一行的表示
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    4 输出样式
    5 输出样式
    9 输出样式

    1.1.4 PTA提交列表及说明

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

    部分错误:忘记考虑行与列放置的位置,i和j的位置反了
    解决方法:在输出printf中将i和j的顺序换一下
    

    1.2 题目2

    将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
    

    1.2.1 数据处理

    数据表达:运用了x表示它的输入值,在输入int wf,ef,yf;表示硬币的大小,count表示换法有多少种,运用的是嵌套循环结构类型
    数据处理:运用for语句进行编程数据结果, for(int i=x/5;i>0;i--) //表示输入值能够换取多少个五分的硬币。
    for(int j=x/2;j>0;j--) //表示输入值能够换取多少给二分的硬币。
    for(int k=x;k>0;k--) //表示输入值能够换取多少个一分的硬币
    if(i*5+j*2+k==x) //表示一共需要换取多少个硬币。
    printf("fen5:%d, fen2:%d, fen1:%d, total:%d
    ", i, j, k, k + j + i); //表示换取的硬币可以有多少种硬币,以及多少个硬币个数。
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    13 4 说明硬币换取有4种
    16 7 说明硬币换取有7种
    15 6 说明硬币换取有6种

    1.2.4 PTA提交列表及说明


    答案错误:忘记硬币换取可以有多种结果,导致只有一种结果
    解决方法:在printf后面加上count++;
    答案错误:把空行写出这样printf(" ",count);找了好久都不知道哪里错误。
    解决方法:看了一下同学的代码发现要写出这样printf("count = %d",count),才是正确

    2.代码互评(5分)
    同学代码截图 自己代码截图

    #######这位同学的代码和有很大的区别,她选择的是用fent作为变量,然后在fent进行选择每种硬币需要多少个,而我的是用一共多少钱输入值x作为变量,然后x/每种硬币的值往下减,再输出硬币的个数,最后输出多少种换法。

    同学代码截图 自己代码截图

    这位同学运用的是while语句,在运用表达式逐渐减,在利用if语句条件选择,输出可以换取多少种,而我的运用的是for语句进行嵌套循环,进行逐减硬币的份额的大小,在输出可以换取多少种。

    3.学习总结

    3.1 学习进度条
    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    等一周9.19-9.27 7天 28行 学会了如何开始进行编辑和简单的程序 为什么在编辑时要这么严厉,错一个符号都会是编译错误
    第二周9.25-910.4 5天 20行 学会了如何用已学知识举一反三 为什么有时候用一个字母代表不行,有时候又可以
    第三周10.8-10.12 4天 136行 难度加大的编程 不知道如何简写编程
    第四周10.15-10.18 3天 120 指定次数的循环程序设计 不知道如何将分子和分母都是变量的情况下编写程序
    第五周10.23-10.26 4天 89 学习函数的运用和表达 不知道运用那种流程正确表达函数运用较为正确
    第六周10.28-11.2 3天 130 学习分支结构多次if-else循环 不知道在哪里打上中括号同时满足条件
    第七周11.5-11.8 2天 140 学习switch语句的运用 不知道如何表达switch语句的表达式,还不是很熟练
    第八周11.12-11.15 2天 130 学习while和do-while的运用 条件在while语句中不知道如何表达才是正确的
    第九周11.19-11.22 2天 120 学习了嵌套循环的运用

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    1.本次作业老师在上课的时候有分析,所以会一点点,在百度一下作业也就完成了,没有上周那样完全不理解,题目的意思,导致浪费很多时间,因此还有一道题没有写完。
    2.这周的作业也有一点点困难,但是我学着克服困难,我也会越来越好的。也不会在说c语言很难,很困难,不会等等。
    3.只有动手自己去完成才知道自己哪里还不是很懂,哪里需要继续努力。

  • 相关阅读:
    SOA概念误解实施要点
    Visual Studio 2008 和 .NET Framework 3.5 Service Pack 1 Beta 发布
    【翻译】使用LINQ来简化编程的7个技巧
    我对SOA的认识以及心得
    《SQL Server 2005范例代码查询辞典》出版
    Security Tutorials系列文章以及AJAX系列文章
    代朋友发招聘信息,C++程序员
    二叉树相关算法
    最近项目的一些心得(纯贴代码)
    大型互联网网站架构心得之一:分
  • 原文地址:https://www.cnblogs.com/xiexiangyun/p/11913210.html
Copyright © 2011-2022 走看看