这个作业属于哪个课程 |
C语言程序设计II |
博客作业的要求在哪里 |
https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029 |
我在这个课的目标是 |
掌握for句型的嵌套,与已掌握知识结合 |
这个作业在哪具体方面帮助我实现目标 |
对编译语法更了解,对代码的小细节更了解 |
参考文献 |
C语言程序设计,百度 |
1 PTA实验作业
1.1 7-2 换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
1.1.1 数据处理
数据表达:使用整型变量 x,i,j,n,count,count初始值为0,x是输入值, i,j,n是for循环需要的变量
数据处理:伪代码
int x,i,j,n,count ← 0 /*定义五个整型变量,x,i,j,n,count,且count赋值为0*/
scanf ("%d", &x); /*调用scanf()函数输入范围8-100内的任意一位正整数x*/
for i ← x/5 to 0 /*嵌套循环,外层循环,i赋值x/5,递减至0,跳出循环*/
do for j ← (x-5*i)/2 to 0 /*内层循环,j赋值(x-5*i)/2,递减至0,跳出循环*/
do printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",i,j,n,i+j+n) /*输出每次正确循环的值*/
count++ /*count递增*/
printf("count = %d",count) /*输出count的最终值*/
1.1.2 实验代码截图
1.1.3 造测试数据
13 |
|
输出正确,代码正确 |
8 |
|
输出正确,代码正确 |
10 |
|
输出正确,代码正确 |
1.1.4 PTA提交列表及说明
提交说明:答案正确:c++运行时,答案错误,因为忘记看输出的顺序了,把他的顺序写倒了
2.1 7-3 找完数
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
2.1.1 数据处理
数据表达:整型变量n,m,i,j,s,b其中n,m是输入值,i,j是for循环时需要的变量,j也是输出值,s,b是程序中运算变化需要的变量
数据处理:伪代码
int n,m,i,j,s ← 1,b ← 1 /*定义六个整型变量,n,m,i,j,s,b,且s,b赋值为1*/
scanf("%d %d",&n,&m) /*调用scanf()函数输入1~10000范围内的任意两位正整数n,m*/
for i ← n to m /*嵌套循环,外层循环,i赋值n,递增减至m,跳出循环*/
do for j ← 2 to i/2 /*内层循环,j赋值2,递增至i/2,跳出循环*/
if(i%j==0) /*判断i除j是否整除,是就运行下一步*/
if(i==s) /*判断i是否等于s,是就运行下一步*/
printf("%d = 1",i) /*输出每次循环时i的值*/
do for j ← 2 to i/2 /*内层循环,j赋值2,递增至i/2,跳出循环*/
printf(" + %d",j) /*输出每次正确循环的值*/
printf("\n") /*换行*/
if(b==1) printf("None") /*判断b是否等于1,等于输出None*/
2.1.2 实验代码截图
2.1.3 造测试数据
2 30 |
6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 |
两个完数,输出正确,代码正确 |
0 1 |
1=1 |
一个完数,输出正确,代码正确 |
2.1.4 PTA提交列表及说明
提交说明:部分正确: 第二个for循环时未考虑,当未加到最大值时就达到要求,以至于在第三个for循环时输出错误值,应将第二个for循环里的第二个if语句之后的代码都放到第二个for句型运行结束
之后。
2 代码互评
同学代码(1)
同学代码(2)
自己代码
(1)该同学n,m变量未定义,程序却可以运行成功,我从未成功,我们都使用了for句型的嵌套,但他条件是变量减小,而我相反
(2)该同学的代码比我的长了很多,他变量是一个个定义的,而且用的是while和do while循环,我的是for循环的嵌套
3.学习总结
3.1 学习进度条
第一周 |
2天 |
27 |
学会了一些基础的代码 |
如何正确自己打代码 |
第二周 |
2天 |
58 |
学会了改变编码的环境 |
如何正确自己打代码 |
第三周 |
2天 |
87 |
学会了几个复杂点的代码 |
如何正确自己打代码 |
第四周 |
2天 |
126 |
知道了for循环的简单使用 |
字符所需的特殊标识的区分 |
第五周 |
2天 |
85 |
会使用定义函数和调用 |
对于C语言里的一些单词的含义不够清晰 |
第六周 |
6天 |
158 |
会使用if语句的嵌套 |
对于C语言里的一些符号的含义和ASCII码集不够清晰 |
第七周 |
2天 |
145 |
会使用switch语句 |
对于switch语句的灵活度不够 |
第八周 |
3天 |
124 |
会使用do while循环 |
不能准确的打出自己的代码 |
第九周 |
2天 |
137 |
会使用for循环嵌套 |
对于以前的错误,再一次犯了 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
学的知识越来越多,有些知识点开始混淆起来了,做题时,没有一点灵活感,就是一直在套模板,这是一种危险的信号,应对题目多次求解,用不同的方式。