C语言I博客作业11

守給你的承諾、 提交于 2019-12-06 20:32:32
这个作业属于那个课程 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实验作业

image-20191206200025021

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

img

(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 img a=b
105 200 img a,b都不是
1 10000 img 最大区间
104 203 img a,b都是

1.2.4PTA提交列表及说明

image-20191206201405063 1.编译错误:忘记打return o这个语句。
2.运行超时:不知道什么鬼,后面问了好几个同学才知道错在哪里。
3.答案正确:。。。

2.代码互评(5分)

同学代码: image-20191206201736844

我的代码:img

不同点:

(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分)

img

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

img

3.3.2学习体会

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!