C语言I博客作业05

问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业05
我在这个课程的目标是 学会C语言,掌握编程基础知识
这个作业在那个具体方面帮助我实现目标 学会了编写函数
参考文献 c语言作业评价标准

一、PTA实验作业

C语言I博客作业05_第1张图片

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 实验代码截图

C语言I博客作业05_第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提交列表及说明

C语言I博客作业05_第3张图片

1,编译错误:一个分号没有打

2,部分正确:因为样例给的是两位数和三位数,所以我下意识以为整数是三位以下的数,后来经过回看题目,再加上思考,发现了这个问题。

1.2 水仙花数判断

题目描述:本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+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 = a
aa+bbb+cc*c

使用了if-else分支结构

表头 主调函数 被调函数 实参 形参
名称 main func N N
类型 int int int int

1.2.2 实验代码截图

C语言I博客作业05_第4张图片

1.2.3 造测试数据

输入数据 输出数据 说明
153 1 最小的三位水仙花数
407 1 最大的三位水仙花数
100 0 最小的三位数
999 0 最大的三位数

1.2.4 PTA提交列表及说明

C语言I博客作业05_第5张图片

1,编译错误:在写的过程,不小心将一个大括号删掉了。
2,编译错误:想用pow函数计算立方,但发现头文件中并没有math. h文件。

二、代码互评

我的 同学一 同学二
C语言I博客作业05_第6张图片 C语言I博客作业05_第7张图片 C语言I博客作业05_第8张图片

与同学一相比
'(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累积代码行和博客字数

C语言I博客作业05_第9张图片

3.3 学习总结

3.3.1学习内容总结

C语言I博客作业05_第10张图片

3.3.2学习体会

我觉得我要打破现状,如果以现状的眼光去看,我以后的学习估计可以用以下的代码表示:

include

int main()
{
while(1)
printf("上课\n做作业\n")
}

这样的循环估计会持续到大学毕业,而且我估计这样的循环不是个例,绝大多数人都会经历类似的循环,但是我不想这样。

在《刻意练习》这本书中,作者提出了学习的环节,其中有一个环节让我印象深刻,那就是跳过舒适圈,只有不舒服了,你才可以真的学习到知识,而这样的循环很显然不足以让人不舒服,毕竟上课可以睡过去,作业可以混过去。

基于这个理念,在acm战队招新的时候,我毅然决定去参加,本来我还以为有一教室的人,结果到那里一看,才寥寥可数的十来个人,我有些高估了大家的兴趣。

此外,在上大学之前,经常有人说“到大学之后,你就轻松了”之类的话,但是上了大学才发现,如果你坠落的话,确实很轻松,但你要是求上进,那真的很难,我深有体会。

课程难度上升了不说,注意点也不再只局限于学习一个方面了,还要拓展到各个方面,同样我的内心也有些焦虑,因为相比于高中充实的日子,大学空闲的时间很多,我想利用这些时间做些什么,但又不知道做些什么,所以很迷茫。

所以在一定程度上加入acm战队是可以“解压”的。当迷茫之时,有一群有着共同热爱的伙伴陪我学习,有友善的学长学姐指导我学习,让我不再那么迷茫,这不失为一种“解压”方式。

你可能感兴趣的:(C语言I博客作业05)