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

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 作业要求的链接
    我在这个课程的目标是 熟练使用C语言进行编译
    这个作业在那个具体方面帮助我实现目标 这次作业让我对于循环嵌套的理解更加深刻,对于嵌套的使用更加熟练
    参考文献 文献
    学号 20209188

    1.PTA实验作业

    1.1 换硬币 (20分)

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

    输入格式:

    输入在一行中给出待换的零钱数额x∈(8,100)。

    输出格式:

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

    1.1.1数据处理

      数据表达:整数型:a,b,i,j,k。a 用于承载输入的总金额,b 用于记录换法数,i,j,k分别用于记录5分,2分,1分的硬币数
      数据处理:
      数据表达式:赋值表达式,关系表达式,逻辑表达式。
      流程结构:循环结构,判断结构。
      函数参数:主调函数:mian   
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    9 fen5:1, fen2:1, fen1:2, total:4
    count = 1
    当输入4时,所有可能
    99 fen5:19, fen2:1, fen1:2, total:22
    fen5:18, fen2:4, fen1:1, total:23
    fen5:18, fen2:3, fen1:3, total:24
    fen5:18, fen2:2, fen1:5, total:25
    ......
    count = 451
    当输入99时,所有可能
    1 count = 0 当输入1时,所有可能

    1.1.4 PTA提交列表及说明

    部分正确:一开始没看清题目要求,题目要求‘要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法’,我一开始没注意他的输出顺序有要求,所以一直在考虑其他的方面,看是否是运算量的问题。
    

    1.2 7-13 梅森数 (20分)

    形如2^n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2^31−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。

    本题要求编写程序,对任一正整数nn<20),输出所有不超过2^n−1的梅森数。

    输入格式:

    输入在一行中给出正整数nn<20)。

    输出格式:

    按从小到大的顺序输出所有不超过2^n−1的梅森数,每行一个。如果完全没有,则输出“None”。

    输入样例:

    6
    

    输出样例:

    3
    7
    31
    

    1.2.1 数据处理

      数据表达:整数型:n,num,N。n用于承载输入的指数,num 计算所有可能结果,N用于记录符合题目要求的个数
      数据处理:
      数据表达式:赋值表达式,关系表达式,逻辑表达式。
      流程结构:循环结构,判断结构。
      函数参数:主调函数:mian
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    1 None 输入为1时,符合的数据
    3 3
    7
    输入为3时,符合的数据
    8 3
    7
    31
    127
    输入为8时,符合的数据

    1.2.4 PTA提交列表及说明

    • 部分正确:最大值输出是错误的,后来经过检查发现是我输出的问题,一是把输出放在for循环外面,二的没有在完全没有时输出“None”。
      
    • 2.代码互评

    • 同学代码截图

      自己代码截图

    1.他的代码直接在输入时进行判断,相对于我的用一个数组存下来,在、再进行比较要好很多
    2.没有经过繁琐的程序,直接把第一个输入的值当成最小值,然后再于后面输入的值进行比较,比我的要更容易懂
    3.相比较我的程序,计算量要小,存储空间要小

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第8周/10.19~10.25 12 h 280 预习了一下课本,了解代码的样子,并学习了基本代码
    第9周/10.26~11.1 15 h 580 了解了基本的常量与变量,与数据类型
    第10周/11.2~11.8 20 h 930 if语句与for循环语句的运用
    第11周/11.9~11.15 23 h 1420 函数的定义
    第12周/11.16~11.22 24 h 1360 if 语句的嵌套

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

      1.本周的学习都在为11.21的考试做准备,一直在看<string.h>的数据库,记一些常用的有关字符串的函数
      2.感觉自己基础知识不牢靠,有一些实用的小技巧不知道,这导致我的代码相较于其他人的代码会复杂许多
      3.做题目太少,做题目不可以马上想出思路,这导致我做题速度很慢,要花许多时间在想思路上
    
  • 相关阅读:
    selenium webdriver 执行Javascript
    selenium webdriver 定位元素 第一部分
    selenium webdriver 模拟鼠标悬浮
    JaveWeb 公司项目(3)----- 通过Thrift端口获取数据库数据
    JaveWeb 公司项目(2)----- 类模态窗口显示DIV并将DIV放置在屏幕正中间
    JaveWeb 公司项目(1)----- 使Div覆盖另一个Div完成切换效果
    Intellij Idea修改css文件即时更新生成效果
    Intellij idea 2017 图标含义
    下载安装tomcat和jdk,配置运行环境,与Intellij idea 2017关联
    IntelliJ IDEA Tomcat中端口被占用的问题
  • 原文地址:https://www.cnblogs.com/love0017/p/14016188.html
Copyright © 2011-2022 走看看