C语言I博客作业08
作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11613 |
这个作业的目标 | 熟悉并掌握break、continue的使用和for循环嵌套 |
这个作业在那个具体方面帮助我实现目标 | 精选的PTA题目和博客中代码之间的对比 |
参考文献 | 《C语言程序与设计》,百度 |
学号 | 20209057 |
1.PTA实验作业(20分/题)
1.1 打印九九口诀表
本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角NN部分口诀表,其中等号右边数字占4位、左对齐。
数据表达:用了n,i,j整形变量来表示相关数据;
数据处理:表达式:for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%d%d=%-4d",j,i,j*i);
printf("\n");
}
%d-4表示等号右边数字占4位、左对齐;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | 11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 | 题目原数据 |
5 | 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 5*5=25 | 测试数据 |
1.1.4 PTA提交列表及说明
错误点:大括号打错位置了,然后没有printf("\n"),导致口诀表都不是表了;
解决方法:根据提示信息(好像没什么用),查找之前的课堂笔记。以为上课听懂了就会做了。。。。。
1.2 一钱生多钱
在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。
输入格式:
输入在一行中给出待换的零钱数额(大于等于8小于等于100)
输出格式:
每行输出一种兑换方式,按照如下格式输出(并且每一种面值的人民币都是从小到大输出):
five=五元数量,two=两元数量,one=一元数量
1.2.1 数据处理
数据表达:用了n,i,five,two,one整形变量来表示相关数据;
数据处理:表达式:for(five=1;five<=n/5;five++){for(two=1;two<=n/2;two++){for(one=1;one<=n;one++){if(one+two2+five5==n){printf()
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 | five=1,two=1,one=6five=1,two=2,one=4five=1,two=3,one=2five=2,two=1,one=1 | 题目原数据 |
10 | five=1,two=1,one=3 five=1,two=2,one=1 | 测试数据 |
1.2.4 PTA提交列表及说明
错误点:中间有几个变量位置搞反了,导致结果总是运行超时(重点是我搞半天不知道这什么意思。。。。。)
解决方法:得到室友的帮助,顺利地解决了这个问题。(这个截屏没截好,看起来好奇怪)
2.代码互评(5分)
同学代码
自己代码
不同点:首先,我终于找到了一个跟我差别很大的了(虽然我也不怎么懂TA写的是什么);
很明显地看出,我的代码要比TA的简洁一些,但TA能用不同的方法写出这道题,一题多解,也是一个值得我去学习的地方。
同学代码
自己代码
不同的:最后一步我的是if(one+two2+five5==n),不过从总体来看我们的代码还是差不多的,不过我更喜欢用我自己的这种方式,把b=n/5等放到for()里面去,可以省去几行代码,更简洁轻松。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
12.07~12.13 | 8~9个小时 | 374 | break、continue和for循环嵌套 | 对for循环嵌套不太熟,还有一点不太懂 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
感触很深的就是课堂上听懂了,轮到自己做时总是出错。。。。。。还是得多加练习;
学习了for循环嵌套,break和continue,要学会一题多解;
磨人啊,PTA越来越难了,总是遇到运行超时的情况,我自己都要在代码里转不出去了;
期末考试越来越近,我这里每天都忙得没时间复习(哭辽哭辽)。。。。