| 这个作业属于那个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | http://edu.cnblogs.com/campus/zswxy/SE2019-1/join?id=CfDJ8DeHXSeUWr9KtnvAGu7_dX-NdMxLuWBjFx6IwoIo-O_rydnfRsaBGa-I1XrbZwtq7TinInTPl_H1ttsK9nhsnlF4ZBKUoqDp5_euiog4I6ZNIQ6zt_ETShOlYOoCUrAlxe-WagOBvDXZJbFFqZRtnUs |
| 我在这个课程的目标是 | 希望自己能写一些简单的代码出来 |
| 这个作业在那个具体方面帮助我实现目标 | 学会for嵌套语句的使用 |
| 参考文献 | 《C语言程序设计》,PTA |
本周作业
1.PTA实验作业
2.代码互评
3.学习总结
作业格式
1.PTA实验作业

1.1 题目1
统计某类完全平方数 (20分)
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等
数据表达:用了x,y2个整型变量和一个数组
数据处理:
{
定义x,y
y等于N的算术平方根
x等于y的平方
if(x等于N)
定义数组a[10]和i用来循环
while(x需大于0)
for循环
if(求各位数字)
数组记录(不会再从零重新记录)
if(看是否有两个一样的数字)
return 1;(跳出此循环)
x=x/10;(为求各个数字所需要的)
输出()
1.1.2实验代码截图

(3)造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 144 144 | cnt = 1 | 存在一个完全平方数 |
| 144 225 | cnt = 2 | 存在两个完全平方数 |
| 100 200 | cnt = 3 | 存在三个完全平方数 |
| 1469 4638 | cnt = 15 | 输入的都是四位数 |
| -120 -1 | cnt = 0 | 输入的都是负数 |
(4)PTA提交列表及说明

1.编译错误:忘记考虑两位以上数字相同的也是完全平方数,后面将24行的if(sum==2)改为if(sum>=2)后答案正确。
1.2 题目2
统计各位数字之和是5的数
题目内容描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1 数据处理
数据表达:is定义了sum,x两个变量;void定义了sum,count,i三个变量,i用来循环 数据处理: int is( int number ) 定义sum=0,x=0 while(如果number不等于0,则进入循环) 循环里面求各位数字和 if(如果和等于5) 返回1 else(否则返回0) void count_sum( int a, int b ) 定义sum=0, count=0, i for(循环,区间每个数式一次) if(若is返回1,则跳出上述循环,进入这份if) 记满足的个数和各整数和 输出()
1.2.2 实验代码截图

1.2.3测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 104 104 | ![]() |
a=b |
| 105 200 | ![]() |
a,b都不是 |
| 1 10000 | ![]() |
最大区间 |
| 104 203 | ![]() |
a,b都是 |
1.2.4PTA提交列表及说明
1.编译错误:忘记打return o这个语句。
2.运行超时:不知道什么鬼,后面问了好几个同学才知道错在哪里。
3.答案正确:。。。
2.代码互评(5分)
同学代码: 
我的代码:
不同点:
(1)从占用的空间上来说,同学代码定义了7个变量,而我定义了5个变量,从这个层面来说同学的代码更好
(2)从代码占用的内存来说,同学的代码只用了28行,而我用了38行,从这个层面来说同学的代码更好
(3)同学的代码在判断至少有两位数字相同这一点用的是先将数N的位数算出来储存在i,然后再按这个位数的范围进行循环;而我的代码,拿数N的每一位数按1~9数字的个数一个个进行统计,当存在1~9内的一个数有至少两个时返回1
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 | |
|---|---|---|---|---|---|
| 第三周 | 约10小时 | 约100行 | 掌握关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 | 不能脱离书本自己编写代码 | |
| 第四周 | 8+小时 | 约105行 | for循环语句 | 不能灵活运用for语句 | |
| 第五周 | 约7小时 | 约54行 | 定义函数 | 还未真正学会定义函数 | |
| 第六周 | 约12小时 | 约186行 | 自定义函数和多分支结构的运用 | 这次的填空题不明其意! | |
| 第七周 | 约6小时 | 约145行 | switch语句的使用 | 有好多题可以使用if语句会简单一点,switch反倒很难想出怎么编译 | |
| 第八周 | 约8小时 | 约94行 | do-while语句和while语句的使用 | 有时会搞错while内的条件 | |
| 第九周 | 约8小时 | 约123行 | 区别break与continue语句 | 只能说数学基础还要加强 | |
| 第十周 | 12++小时 | 约120行 | if else 的编辑与使用,乘方的使用 | 一些代码的具体含义不清楚,不能灵活的运用它们 | |
| 第十一周 | 13个小时 | 约120行 | 进一步了解了如何去自定义一个函数 | 对数组完全不了解,对指针完全不了解,对于函数题不太熟练 |
3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结:

3.3.2学习体会
这是期末考试前的最后一次作业,难度确实很大,看题目都需要花费一大段时间,不然根本毫无头绪。还有就是对即将来临的期末考试感到慌张,可能是因为做了这次作业吧,太难了,有点没自信了,哈哈哈



