C语言I博客作业09

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029
我在这个课程的目标是 很好的编写程序,提高自己的准确率和速度
这个作业在那个具体方面帮助我实现目标 通过PTA上的代码作业让我发现自己的错误并不断改正
参考文献 《C语言程序设计》,CSDN编程社区,《提问的智慧》

一、PTA实验作业

我的排名

1.1 打印九九口诀表

  • 下面是一个完整的下三角九九口诀表:
    11=1
    1
    2=2 22=4
    1
    3=3 23=6 33=9
    14=4 24=8 34=12 44=16
    15=5 25=10 35=15 45=20 55=25
    1
    6=6 26=12 36=18 46=24 56=30 66=36
    1
    7=7 27=14 37=21 47=28 57=35 67=42 77=49
    18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
    19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
    本题要求对任意给定的一位正整数N,输出从1
    1到NN的部分口诀表。
    输入格式:
    输入在一行中给出一个正整数N(1≤N≤9)。
    输出格式:
    输出下三角N
    N部分口诀表,其中等号右边数字占4位、左对齐。
    输入样例:
    4
    输出样例:
    11=1
    1
    2=2 22=4
    1
    3=3 23=6 33=9
    14=4 24=8 34=12 44=16

1.1.1数据处理

  • 数据表达:变量“i,j,N”;变量值的来源“输入,算术运算”;变量类型“都是整型变量int”
  • 数据处理:流程结构:循环结构,伪代码

1.1.2实验代码截图

1.1.3造测试数据

输入 输出 说明
4 检验代码可运行输出正确答案
7 打印7乘7的乘法表
1 打印的是1乘1的乘法表
9 打印9乘9的乘法表

1.1.4PTA提交及列表

  • 1.部分错误:虽然可以打印出乘法表,但是和题目要求的格式会不一样
  • 改正方法:将printf ("%d%d=%d",i,j,ij)改为printf ("%d%d=%d",j,i,ij)
  • 2.多种错误:各种面值类型的钱在数量的输出时没有加空格然后也忽略了题目的“等号右边数字占4位、左对齐”这一要求
  • 改正方法:在输出时在每个数据后面加上空格,同时在数据输出时将printf ("%d%d=%d",j,i,ij)改为printf ("%d%d=%-4d",j,i,ij)

2.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

2.1.1数据处理

  • 数据表达:变量“a,b,c,count,x”;变量值来源“输入,赋值运算,算数运算”;变量类型“都是整型变量int”
  • 数据处理:流程类型:循环结构,伪代码

2.1.2实验代码截图

2.1.3造测试数据

输入 输出 说明
13 输入题目给出的相同示例,表明程序可以得出正确答案
5 当输入零钱数为5时没有相对应的硬币输出
8 当输入零钱数为8时相对应的硬币输出方法有一种
24 当输入零钱数为24时相对应的硬币输出方法有20种

2.1.4PTA提交列表及说明

  • 编译错误:打的太快了把stdio写成了sdtio,while后面忘记加分号了,输出数据n时忘记要与前面的数据之间有空格
  • 改正方法:把sdtio改成stdio,在while后面加上“;”,在输出n时加一个空格在%d前面。

二、代码互评

同学1代码

我的代码

  • 1.这为同学用的数据输入的字母是x而我用的是N;
  • 2.两份代码总体上没有什么区别,但是细节方面,在内不循环体中该同学的代码更规范一些。

同学2代码

我的代码

  • 1.这位同和我都少定义了一个变量,直接在输出时将total用其它的数据相加得到,这样使代码更简洁
  • 2.这位同学的代码和我的并没有什么不同,都是用for语句循环从而得到结果

三、学习总结

3.1学习进度条

|周/日期|这周所花时间|代码行|学到的知识点的简介|目前比较迷茫的问题|
|------|------|------|------|------|------|
|9/19-9/22|23小时|90行|学习了break和continue语句及for语句的嵌套循环结构|不是很了解for语句的嵌套循环的运行步骤|
|8/12-8/16|22小时|126行|学习了do-while和while语句,并运用该循环语句进行代码的编写|不懂怎样表达“当输入回车键时,输入结束”这个语句|
|7/4-7/8|22小时|114行|运用switch语句对给定的题目要求进行计算|一些switch语句的用法不是很了解|
|6/27-6/31|24小时|120行|学习了if-else语句的嵌套|逻辑运算符的一些用法不是很懂|
|5/21-5/25|24小时|91行|自定义函数并调用该函数对数学函数进行运算|有点不太分的清楚实参和形参|
|4/15-4/18|17小时|82行|for语句,循环结构|有点不太会定义条件|
|3/9-3/15|15小时|78行|学会了if-else语句,学会了分支结构和双精度浮点型变量|对于函数的表达还不是很清楚|

3.2累积代码行和博客数

3.3学习内容总结和感悟

  • 3.3.1学习内容总结
  • 3.3.2学习体会
  • 通过这个礼拜的学习,学习了break和continue语句及for语句的嵌套循环结构,在完成PTA的作业时发现,自己没有想去用到break和continue语句去写代码,并且好像不是特别懂for语句的嵌套循环的规则,但是在做题的不断尝试摸索及看书上的讲解,犹如拨开云雾见明月一般,它的运算规则在脑袋里渐渐的清晰了,这也告诉我应该要多实践去做题,然后还有就是要记住在scanf输入时要加&(进两次做题都会忘了加,然后找半天也找不到问题,恍然发现时想把自己揍一顿)。
posted @ 2019-11-22 21:34  曾子昕  阅读(214)  评论(6编辑  收藏  举报