C语言I作业09
一、本周教学内容&目标
第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。
二、本周作业头
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I作业09 |
我在这个课程的目标是 | 了解break与continue的使用方法并掌握; |
这个作业在那个具体方面帮助我实现目标 | 练习markdown语法以及自主寻找资料的能力 |
参考文献 | 百度 break与continue的区别 |
三、本周作业##
1. PTA作业##
**1.1 7-2 换硬币 **.
1.1.1 数据处理
- 数据表达:提出N为总分值,five为五分最多个数,two为二分最多个数,one为填补剩下分值的个数;sum1为除去五分后剩下的分值;sum2为除去五分和二分剩下的分值;count作为计数器;
- 数据处理:
for <- five to 0
do sum1=总硬币 - i(五分硬币的个数)*5(五分钱);
two = (sum1 - 1) * 5; //结合数据表达理解
for <- two to 0
do sum2 = N - i * 5 - j * 2;
one = sum2;
printf 每种硬币的个数;
count++;
end
end
printf 总个数;
1.1.2 实验代码截图
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入样例1:####
输入在一行中给出待换的零钱数额x∈(8,100)。
输出样例1:####
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
输入样例2:####
13
输出样例2:####
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.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 | 输入题给数据验证 | |
7 | count=0 | 7 < 8 |
8 | 最小符合数值 | |
20 | 要求的最大数值 |
1.1.4 PTA提交列表及说明
1.答案正确:...在之前助教PTA中存在的问题为输出没换行,导致都挤在一起,还过后就正确了,并不是很难;
**1.2 7-3 找完数 **.
1.2.1数据处理
- 数据表达:提出提给n,m,在提出for循环用的i与j,提出整型数组用于储存每次能够整除的数,待输出,提出sum储存和来与输入的数字进行对比;count做计数器,result作为条件;
- 数据处理:
for <- m to n;
do sum = 1;
count = -1 ;
for <- 2 to i;
do if i % j 余数为0 ;
do count++;
number[count] = j;
end
1.2.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.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 30 | 输入题给数据进行验证 | |
7 2 | None | 不符合要求的输入造成错误 |
8 63 | 符合要求的计算 |
1.2.4 PTA提交列表及说明
1.答案正确:本题不难,只需找出能够整除的数储存一下;一旦和与这个数一样就这些储存的数输出再控制一下格式...
2. 代码互评###
同学代码 | 自己代码 | 同学代码 |
---|---|---|
- 与第一份代码的区别:我用数组存储能够整除使的因子,最后输出,而他直接判断加和之后的sum与m的关系,相等时直接再次一个for循环来输出因子;相同点:使用的输出格式相同,代码相似,但不同;
- 与第二份代码的区别:他使用自定义函数来验证一个数是否为完数,是就返回这个数,而我直接在主函数中应用for循环嵌套来解决;相同:都用的同样的思路以及找出完数的方法,都是for循环来多次验证来输出;
3. 学习总结###
3.1 学习进度条.
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第七周 | 9小时 | 513 | 定义函数 | return的返回位置 |
第八周 | 12小时 | 467 | 局部变量与全局变量 | 暂无 |
第九周 | 12小时 | 483 | 数组 | 暂无 |
第十周 | 14小时 | 723 | 指针 | 暂无 |
第十一周 | 15小时 | 832 | 结构 | 暂无 |
第十二周 | 17小时 | 728 | 指针(内容更多) | 暂无 |
第十三周 | 15小时 | 732 | 结构 | 暂无 |
3.2 累积代码行和博客字数. |
3.3思维导图
3.3.1 学习内容总结与体会
本周只进行对C语言的结构与进阶指针的进一次学习,来完成C语言的最后阶段,进阶指针的内容还是难以理解,现在只能通过资料与刷题来学习
C语言的学习也已经完成,对于自己第一次博客的任务也算完成了,接下来将继续其他语言或者一些东西的学习,并且继续刷题来熟练掌握C的内容;