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

    这个作业属于那个课程

    C语言程序设计II

    这个作业要求在哪里

    https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10032

    我在这个课程的目标是

    能够写出一个简单耐玩的游戏

    这个作业在那个具体方面帮助我实现目标

    学会使用break和continue的使用方法

    参考文献

    百度

     

     

    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数据处理

    数据表达:除了输入输出的变量,还有x5,x2,x1,c  4个变量,分别代表5分,2分,1分硬币个数,c代表5分,两分硬币都是1时的1分个数;

    数据处理:

    start
    
    x5=money/5 ; //5分钱的最大个数
    x2=(money-(5*x5))/2;  //2分钱的最大个数
    c=money-5-2;
    
    for(x5从x5开始自减;小于0跳出)
    {
                 x2=减去5分的最大个数;
         for(x2从先开始自减;小于0跳出)
             {
                for(x1从1开始,自增;配合x5,x2组成money总数跳出)
                   {
                     if(x5*5+x2*2+x1=money)
                      {
                         printf:
                      }
                    } 
             }
    }
    
    
    END
    

     

    1.1.2实验代码截图

     

     

    1.1.3 造测试数据

     

     

    1.1.4 PTA提交列表及说明

    答案错误 由于X1的值出现问题,后加入c变量解决

    1.2找完数

    所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
    输入格式:
    输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。
    输出格式:
    逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。
    输入样例:
    2 30
    输出样例:
    6 = 1 + 2 + 3
    28 = 1 + 2 + 4 + 7 + 14

    1.2.1 数据处理

    数据表达:除了输入输出的值,还定义了 num,k,l element,i 这几个整形变量。其中

    num为完数,element为完数因子判断数。l为从2开始的用来输出的完数因子 ,k代表完数个数 。i为用来判断完数的完数因子。

    数据处理:

    START
    
    
    for(完数num在定义范围内自增,找出符合的完数)
        {
      for(i从1开始,找出再完数之内,能被整除拟定完数的完数因子)
           {
            if(拟定完数因子能被整除)
              {
                element+=i;//完数因子相加
               }
             }
              if(完数因子相加数=完数)
                {
                  printf("%d = 1",num)
                   for(从除1的完数因子开始输出完数因子)
                        {
                         ................................
                         完数个数k++;
                         }
                 }
                else
                   完数因子判断数element归0,重新搜索完数
    }
    if(k==0)
    无完数
    
    
    END

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据
    1 100 6 = 1 + 2 + 3
    28 = 1 + 2 + 4 + 7 + 14
    100  1000 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
    500 1000 None

    1.2.4 PTA提交列表及说明

    编译错误 从vs上直接粘贴下来忘记改scanf_s为scanf导致
    答案错误 在输出完数l的时候for语句的终止条件设置错误导致

    2.代码互评

    同学代码:   (奥巴马画方块)

     我的代码:

    不同点:
    1.这位同学用的是for语句的嵌套来实现方块的排列,而我的方法则是用二维数组的方法排
    2.这位同学的方法明显简单很多,但是我也只是在试验二维数组的可行性

    3.学习总结

    3.1学习进度条

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

     

    3.3.2 学习体会

    1.这周的学习任然十分紧张,总感觉自己落后了,所以得抓紧时间学习。

    2.期末降至,其他科目也需要大量时间去复习。所以必须得抓紧时间学习了。

  • 相关阅读:
    R()函数的使用 tp2
    __call()的使用
    tp3.1.3 引入静态页面
    tp3.1.3创建应用
    .env文件的使用 thinkphp51
    concat()和push()的区别
    小程序模板template使用
    56. 从1到n整数中1出现的次数
    55. 连续子数组的最大和
    54. 数据流中的中位数
  • 原文地址:https://www.cnblogs.com/zjw1324399/p/11909330.html
Copyright © 2011-2022 走看看