一、PTA实验作业
我的排名
1.1 打印九九口诀表
- 下面是一个完整的下三角九九口诀表:
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=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,输出从11到NN的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角NN部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
输出样例:
11=1
12=2 22=4
13=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输入时要加&(进两次做题都会忘了加,然后找半天也找不到问题,恍然发现时想把自己揍一顿)。