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