这个作业属于那个课程 |
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.期末降至,其他科目也需要大量时间去复习。所以必须得抓紧时间学习了。