C语言I博客作业09

一.表格

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业09
我在这个课程的目标是 把C语言学精,熟练掌握编程技术,努力找到简单代码的写法
这个作业在哪个具体方面帮助我实现目标 PTA上做题,devc++慢慢掌握调试,加强对于break和continue语句的理解与应用
参考文献 百度百科,其他同学作业,《C Primer Plus》,教科书,伪代码的写法

二.本周作业

1.PTA实验作业

C语言I博客作业09_第1张图片

1.1 换硬币

题目内容描述:将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?C语言I博客作业09_第2张图片

1.1.1数据处理
  • 数据表达:x,count,fen5,fen2,fen1,total(变量);运算,赋值(怎么来);int(整型)
  • 数据处理:
定义变量x来放待换的零钱数额,fen5来放5分的个数,fen2来放2分的个数,fen1来放1分的个数,total来放3种数额个数的总数,count来放总共有几种换法。total赋值为0;count赋值为0。

输入待换零钱数额
for(fen5=20;fen5>0;fen5--)//进入for嵌套循环
    初始5分个数赋值为20个,5分个数大于0,就减1
    for(fen2=50;fen2>0;fen2--)
        初始初始2分个数赋值为50个,2分个数大于0,就减1
        for(fen1=100;fen1>0;fen1--)
            初始初始1分个数赋值为100个,1分个数大于0,就减1
            if((fen5*5+fen2*2+fen1)==x)
               判断总共的三个数值额是否等于待换零钱数额
               total=fen5+fen2+fen1;
                    count++;//换法加1
               输出5分个数:,2分个数:,:1分个数:,总个数:
          

     下一行输出总换法
      程序结束。     
1.1.2实验代码截图

C语言I博客作业09_第3张图片

1.1.3造测试数据
输入数据 输出数据 说明
13 C语言I博客作业09_第4张图片 题目样例
6 不符合题目给出条件
20 C语言I博客作业09_第5张图片 输入一个整数
1.1.4PTA提交列表及说明

C语言I博客作业09_第6张图片

答案错误:忘记在if循环打上"{}",导致无限循环;加上了"{}"(三次答案错误就只是这个错误,检查了3遍才看出来)
格式错误:太久没写PTA,把输入x的值忘记打上&;加上了&

1.2 找完数

题目内容描述:所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。C语言I博客作业09_第7张图片

1.2.1数据处理

数据表达:m,n,a,b,c,i,j(变量);赋值,运算(如何来);int(整型)
数据处理:

定义变量m,n来放正整数,其中m小于n,i来放m-n之间所有数,j来放从1到i的所有数,a来放j累加的值,b来放2到j的所有数,c来放完数的总数,c赋值为0。

输入正整数m,n
for(i=m;i<=n;i++)//进入for嵌套循环
   把m到n所有数提出来
   a赋值为0
   for(j=1;j
1.2.2实验代码截图

C语言I博客作业09_第8张图片C语言I博客作业09_第9张图片

1.1.3造测试数据
输入数据 输出数据 说明
2 30 C语言I博客作业09_第10张图片 使用题目样例
2 4 输入没有完数的
2 1000 C语言I博客作业09_第11张图片 扩大范围:一位数到三位数
1.1.4PTA提交列表及说明

多种错误:空集答案错误,完数格式错误;把if加上了"{}"//空集错误没找到、、、
部分错误:计算完数的个数变量,忘记赋值;把c赋值=0//空集答案错误改正

2.代码互评

2.1.1 同学代码截图(宁佩同学)

C语言I博客作业09_第12张图片

2.1.2自己代码截图

C语言I博客作业09_第13张图片

  • 我们的不同之处.
  • 她定义的变量和我有些不一样,我用题目例题给了确定的个数,她用了x,y,省略了定义变量。
  • 她只用了for嵌套结构,我用了for嵌套和if语句
  • 她和我判断的方法不一样,她用的是把5分和2分变成了5个一分和2个一分,再去判断;我是直接先假设他们都有100分,然后再去讨论。
  • 她在最后定义z总钱数,和total总个数,还没计算count,直接输出。我是写的比较完整。
  • 她的代码比较新颖,值得学习

    2.2.1同学代码截图(软件四班徐旖同学)

    C语言I博客作业09_第14张图片

    2.2.2自己代码截图

    C语言I博客作业09_第15张图片
    C语言I博客作业09_第16张图片
  • 我们的不同之处.
  • 她的代码和我差不多,我写的比较完整,她写的有些简洁。
  • 她多用了if循环判断m与n的范围,这个题目有,可以不用写。
  • 她把一些括号省略了,看起来简单。
  • 我把总数赋值放在for循环里面方便看结构,她放在定义变量那。

    3.学习总结

    3.1学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    九/19/11-22/11 三天 100 break语句,continue语句用法和区别 不太清楚字符怎么用
    八/12/11-15/11 3天 120 while和do-while循环语句用法和概念 暂时没有
    七/5/11-8/11 三天 140 switch语句用法 如果x为浮点型,y,z为整型为什么x=y/z答案不对
    六/28/10-2/11 3天 130 嵌套if-else语句,格式以及如何应用 不太清楚Devc++怎么调试
    五/22/10-25/10 3天 100 用法如何定义函数,格式以及如何应用 暂时没有
    四/15/10- 18/10 3天 80 循环结构,流程图,数学函数 数学公式的表达,为什么整数除以变量有一个要用括号括起来还要乘以1.0
    三/9/10-13/10 3天 70 if-else,&&用法,字母%用法,数学函数 PTA每次答案错误,都十分难找出来。不得已重打

    3.2累计代码行和博客字数

    C语言I博客作业09_第17张图片

    3.3学习内容总结和感悟

    3.3.1学习内容总结

    C语言I博客作业09_第18张图片

    3.3.2学习体会
  • 这周学了break语句,continue语句用法与区别。break是直接跳出循环,continue是结束本轮循环执行下一轮。
  • 题目不难,但刚用for嵌套以及break和continue还是有些乏力,不过经过书籍、百度以及做题目,我已经理解了用法并能很好应用。反正在C语言课上听得我如痴如醉
  • Devc++调试可能我还是还是不会,,不清楚到底断点设置在哪里。。。
  • 我觉得可以在实验课的时候,彭老师能用实例再次教一下我们调试,,因为真的很多人不会。。

你可能感兴趣的:(C语言I博客作业09)