问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I博客作业05 |
我在这个课程的目标是 | 学会C语言,掌握编程基础知识 |
这个作业在那个具体方面帮助我实现目标 | 学会了编写函数 |
参考文献 | c语言作业评价标准 |
一、PTA实验作业
1.1判断一个整数的各位数字平方之和能否被5整除
题目描述:编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
1.1.1数据处理
数据表达
变量 | 变量来源 | 变量类型 |
---|---|---|
n | 题目输入 | int |
i | 表示各位数字 | int |
s | 表示平方之和 | int |
数据处理:使用的表达式有
(1),i = n%10;
(2), s += i*i;
(3), n /= 10;
使用了while语句进行循环运算。
表头 | 主调函数 | 被调函数 | 实参 | 形参 |
---|---|---|---|---|
名称 | main | fun | m | n |
类型 | int | int | int | int |
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | The result is 0 | 最小n |
12 | The result is 1 | 两位数 |
123 | The result is 0 | 三位数 |
1234 | The result is 0 | 四位数 |
20001 | The result is 1 | 五位数 |
1.1.4PTA提交列表及说明
1,编译错误:一个分号没有打
2,部分正确:因为样例给的是两位数和三位数,所以我下意识以为整数是三位以下的数,后来经过回看题目,再加上思考,发现了这个问题。
1.2 水仙花数判断
题目描述:本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
1.2.1数据处理
数据表达
变量 | 变量来源 | 变量类型 |
---|---|---|
N | 题目输入 | int |
a | 表示百位数 | int |
b | 表示十位数 | int |
c | 表示个位数 | int |
result | 表示返回结果 | int |
s | 表示三位数的立方和 | int |
数据处理:使用的表达式有
(1),a = N/100
(2),b = (N-a100)/10
(3),c = N%10
(4), s = aaa+bbb+cc*c
使用了if-else分支结构
表头 | 主调函数 | 被调函数 | 实参 | 形参 |
---|---|---|---|---|
名称 | main | func | N | N |
类型 | int | int | int | int |
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
153 | 1 | 最小的三位水仙花数 |
407 | 1 | 最大的三位水仙花数 |
100 | 0 | 最小的三位数 |
999 | 0 | 最大的三位数 |
1.2.4 PTA提交列表及说明
1,编译错误:在写的过程,不小心将一个大括号删掉了。
2,编译错误:想用pow函数计算立方,但发现头文件中并没有math. h文件。
二、代码互评
我的 | 同学一 | 同学二 |
---|---|---|
与同学一相比
'(1)我使用了while语句,而同学一使用了do-while语句。
(2)同学一定义了变量a,但是没有使用,或许他是想和我一样,想令a=.n%10,但是他却没有写,所以可以删去a。
与同学二相比
(1)他添加了头文件math. h,使用了pow函数,在计算高次方的时候很高效,但在这道题上是不必要的。
(2)在返回上,他先令result等于某个值,再返回这个变量,这样既显得繁琐,也多了一个变量。
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9.19-9.27) | 2小时 | 10 | 代码的基本输出 | 什么时候该空格 |
第二周(9.27-10.4) | 24小时 | 30 | 华氏温度转换和GCC编译器编译文件 | 如何进行输入 |
第三周(10.4-10.11) | 24小时 | 100 | 关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 | 对一些数学符不熟 |
第四周(10.11-10.18) | 20小时 | 120 | 使用for循环语句实现指定次数的循环 | 不能快速找出错误 |
第五周(10.18-10.25) | 16小时 | 130 | 编写函数 | 调试有点不熟悉 |
3.2累积代码行和博客字数
3.3 学习总结
3.3.1学习内容总结
3.3.2学习体会
我觉得我要打破现状,如果以现状的眼光去看,我以后的学习估计可以用以下的代码表示:
include<stdio.h>
int main()
{
while(1)
printf("上课\n做作业\n")
}
这样的循环估计会持续到大学毕业,而且我估计这样的循环不是个例,绝大多数人都会经历类似的循环,但是我不想这样。
在《刻意练习》这本书中,作者提出了学习的环节,其中有一个环节让我印象深刻,那就是跳过舒适圈,只有不舒服了,你才可以真的学习到知识,而这样的循环很显然不足以让人不舒服,毕竟上课可以睡过去,作业可以混过去。
基于这个理念,在acm战队招新的时候,我毅然决定去参加,本来我还以为有一教室的人,结果到那里一看,才寥寥可数的十来个人,我有些高估了大家的兴趣。
此外,在上大学之前,经常有人说“到大学之后,你就轻松了”之类的话,但是上了大学才发现,如果你坠落的话,确实很轻松,但你要是求上进,那真的很难,我深有体会。
课程难度上升了不说,注意点也不再只局限于学习一个方面了,还要拓展到各个方面,同样我的内心也有些焦虑,因为相比于高中充实的日子,大学空闲的时间很多,我想利用这些时间做些什么,但又不知道做些什么,所以很迷茫。
所以在一定程度上加入acm战队是可以“解压”的。当迷茫之时,有一群有着共同热爱的伙伴陪我学习,有友善的学长学姐指导我学习,让我不再那么迷茫,这不失为一种“解压”方式。