C语言I博客作业09

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030
我在这个课程的目标是 学习并熟练C语言的语法以及其函数
这个作业在那个具体方面帮助我实现目标 让我更加了解break,continue的熟悉以及循环结构嵌套的使用
参考文献 https://www.cnblogs.com/linfangnan/p/11682033.html

一.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数据处理

数据表达:定义了count,total,a这三个变量,分别表示换法个数,硬币总数量,输入的货币值;数据类型是a为整型。
数据处理:使用了for循环语句以及if判断语句,构成了循环结构;也使用了分支结构,顺序结构。
输入变量x
for(a<---x/5;a>=1;a<--a-1)
{
for (b<--(x-5a) /2;b>=1;b<--b-1)
{
for(c<--x-5a-2b;c>=1;c<--c-1)
if(5a+2*b+c==x)
{输出结果
t<--t+1
}
end if
}
}
输出count
返回0

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
13 输出样例 样例
14 输出值 使用语句判断得出
15 输出值 使用语句判断得出

1.1.4 PTA提交列表及说明

编译错误:在输入代码的时候,for循环语句后面的括号后面加了“;”符号。
解决措施:但是其实是不用加的,将这个符号去掉就好了。
答案错误:在输入“i=a/5”这个环节的时候,错误的把5输入成了6,造成答案错误。
解决措施:后面改正之后就行了。

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 数据处理

数据表达:使用了b,m,i,j,sum五个变量,num一个变量;m,b是整型。
数据处理:使用了for循环语句以及if判断语句,构成了循环结构以及使用了分支结构,顺序结构。
开始
定义变量a,b,i,j,s,l,m
输入 a,b
for i←a to b
    do s←0
        for j←1 to i
            if i%j=0 then
                s←s+j
                end if
        if s=i
            输出 i=1
            for k←2 to j
                if i%k=0
                    输出 + k
                end if
            换行
            m←m+1
            end if
    if m←0
        输出None
    结束

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
2 30 输出样例 样例
3 40 输出值 根据题意得出
4 50 输出值 根据题意得出

1.2.4 PTA提交列表及说明

编译错误:这次出现两个错误,检查之后,发现continue这个单词输入错误,然后就是将“j<i”输入成“j=<i”造成错误。
解决措施:修改单词continue然后去掉“=”就行了。

二.代码互评

代码比较1:

同学1的代码 我的代码

代码分析1:

很明显 地就可以看出来我们两个的代码是多么的不同,第一,我们定义的字母不同;第二,我们使用的结构也不同,他使用了一个float 定义k;但是,我们也有相同的地方,我们都是有使用for循环语句和if判断语句。

代码比较2:

同学2的代码 我的代码

代码分析2:

虽然我们的代码有很多地方是相同的,但是,我们其实还是有所差异,第一,我只定义了三个未知量,而该同学定义了六个,所以我的显得略简便;第二,我们中途的思路还是有点差异,我的是直接除五判断,而他的却要使用定义字母来判断;但是我们大致思路是差不多的。

三.学习总结

3.1 学习进度条

日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
第一周(9.19-9.27) 5个小时 25 代码的基本运用 什么都不是很了解
第二周(9.27-10.4) 7个小时 17 Make down语法的基本用法 十分粗心,在很多地方出错误
第三周(10.4-10.11) 6个小时 89 关系运算、if-else语句、格式化输入语句等了解 对一些语法还是不甚了解
第四周(10.11-10.18) 9个小时 85 for循环语句的了解与运用 调试和改错一脸懵逼
第五周(10.18-10.25) 6个小时 107 自定义函数和while函数的初步了解 while函数的使用
第六周(10.29-11.2) 9个小时 129 各种运算符了解以及分支函数的运用 对分支函数类型有点混乱
第七周(11.5-11.7) 5个小时 120 它能够让我学习到执行流程和参数列表 对这些流程有点困惑
第八周(11.12-11.14) 6个小时 128 了解switch语句的用法和原理 对于函数运用有点不熟练
第九周(11.19-11.21) 8个小时 89 了解了while和do while的用法和原理,break,continue的熟悉以及循环结构嵌套的使用,让我更加深刻的认识了他们 对于一些循环类型还不是很懂

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

本周我们主要学习了while语句和do while语句的用法以及原理,一开始说实话差不多什么都不是很懂,可能是跟老师的上课方式有关吧,然后既然老师都教不明白,于是我便求助于网络资源,于是我在自学的情况下,我成功地将一些自己之前不大懂的知识搞懂了一些,然后顺利完成了作业。透过这件事情,我想表达的是,尽管有的时候我们不是听的很懂,但是我们千万不要放弃,我们也可以试着找一下解决措施,找同学找老师等等。还有就是给老师提一个建议,尽量在课堂上将知识点讲的详细一点,照顾一下我们这些渣渣。
posted @ 2019-11-21 17:00  雷超  阅读(230)  评论(11编辑  收藏  举报