这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | http://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127 |
我在这个课程的目标是 | 在编码速度上有所提升,对代码进一步认识,体会到代码的乐趣 |
这个作业在那个具体方面帮助我实现目标 | 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 |
参考文献 | 《Markdown基本语法》《c语言程序设计》《ACM解题》 |
1.PTA实验作业
1.1 统计某类完全平方数
题目内容描述:本题要求实现一个函数,判断任一给定整数N
是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1数据处理
数据表达:1.定义变量:N,i,k,m,temp,a,b;
2.此代码使用了while语句、if~else语句、for语句。
数据处理:1.流程结构:循环结构和分支结构。
2.伪代码:
int定义变量i,k,m,temp,a,b; temp=N; while(条件) { k自增; 重新赋值; } if(条件) { for(初始条件;i<k;i自增) { a[i]=N/m%10; m*=10; if(条件) return 1; else b[a[i]]=1; return 0 }
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
|
|
在9到64内无这样的整数 |
|
|
在99到164内有一个这样的整数 |
1.1.4PTA提交列表及说明
编译错误:1.字符等不规范,部分字符常常为中文式且符号漏写;
2.没有理清该运用何种结构何种语句,如何将代码联系在一起。
1.2 统计各位数字之和是5的数
题目内容描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1数据处理
数据表达:1.定义变量:digit,sum1,i,count,sum,t;
2.运用了两个函数;
3.此代码是使用了if~else语句、while语句和for语句。
数据处理:1.表达式:digit=number%10;sum1+=digit;number=number/10;
2.流程结构:分支结构和循环结构;
3.伪代码:
主函数 int定义变量digit,sum1; while(条件) { digit=number%10; sum1+=digit; number=number/10; } if(条件) { return 1; else return 0; } 自定义函数 int定义变量a,b,i,count,sum,t; if(条件) { t=a; a=b; b=t; } for(初始条件;i<=b;i自增) { if(条件) { count自增; sum+=i; } } 输出count,sum; }
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
|
count = 15, sum = 17220 |
在1000到1999内有这样的整数15个,且和为17220 |
1.2.4PTA提交列表及说明
答案错误:将表达式中“%"误打成“/”;
编译错误:1.字符等不规范,部分字符常常为中文式且符号漏写;
2.没有理清该运用何种结构何种语句,如何将代码联系在一起。
2.代码互评
他人代码
我的代码
互评:二人所述代码均为《梅森数》;
1.他人代码定义了整形变量n, i,sum,count;n为输入的正整数,i用于控制循环,sum来放2^n-1的值,count用于记梅森数的个数,自定义函数中定义了整 形变量i,s;i用于控制循环,s为返回的值;我的代码定义了整型变量n,i,a,b,t;n为输入正整数,a的作用是控制循环,b是2^n−1的值;
2.他人代码运用了两个函数,其第二函数的作用为判断是否为素数,若为素数则返回s;而我的代码仅运用了一个函数,为输出梅森数。
3.他人代码具体详细,我的代码通俗易懂。
3.学习总结
3.1学习进度条
周/日期 | 周所花时间 | 代码行 | 学到的知识简介 | 目前迷惑的问题 |
11/1~11/7 | 19h | 339 | 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 |
根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序 |
3.2累计代码行数和博客字数
时间 | 博客字数 | 代码行数 |
第一周 | 800 | 0 |
第二周 | 1299 | 16行 |
第三周 | 2019 | 98行 |
第四周 | 2035 | 109行 |
第五周 | 2049 | 119行 |
第六周 | 2020 | 189行 |
第七周 | 2021 | 198行 |
第八周 | 2066 | 201行 |
第九周 | 2092 | 201行 |
第十周 | 2099 | 211行 |
第十一周 | 3016 | 339行 |
3.3学习内容总结及感悟
3.3.1学习内容总结
3.3.2学习体会
1.学习的时候一定要记笔记:记笔记可以加深印象,而且,忘记了也便于查找,不用一本书的去翻.
2.真正学到的知识是我接受了,而不是我知道了:对于知识的掌握,我认为应该是接受了这个知识并能知道如何运用它,而不是单纯的知道它的存在。
3.一定要上机做题:实践是检验真理的唯一标准