C语言I博客作业09

C语言I博客作业09

作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
这个作业属于那个课程 C语言程序设计II
我在这个课程的目标是 深入函数
这个作业在那个具体方面帮助我实现目标 进一步熟悉函数的使用
参考文献 c语言程序设计(第三版)
学号 20208955

二、PTA实验作业(20分/题)

排名图片

1.1

第一题

6-2 统计各位数字之和是5的数 (20分)
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

1.1.1

数据处理

数据表达:使用了变量 函数整型a,b;函数整型number;整型n,s,a,c,sum;n是转换代替mumer;s是判断个个位数之和是否为5;a是各个位数的数值;c是给定范围内符合要求的个数;sum是给定范围内符合要求的个数之和。

数据处理: 表达式: a = n % 10,n = n / 10;
          流程结构:一共使用了三个函数,一个主函数,两个副函数,两个副函数的主要作用分别是:
         ‘int is( int number );’:判断number的各位数字之和是否等于5,是则返回1,否则返回0。
         ‘void count_sum( int a, int b );’:利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。
         

1.1.2

实验代码截图

1.1.3

造测试数据

数据 结果 说明
0 23 23 is counted.\n c=3,sum=42 从0开始
2 4 c=0,sum=0 没有符合要求的可能
103 105 c=1,sum=104 只有104一个符合

1.1.4

PTA提交列表及说明

说明

答案错误:在VS里面没有将题目的格式处理好就提交了。
编译错误:在while语句中,循环时括号错误。

1.2

第二题

6-1 统计某类完全平方数 (20分)
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

1.2.1

数据处理

数据表达:定义了 整型变量 M,i,j,数组a[10],x,m,n;M用来转换变量N即输入的数,i是多余的(提交时忘了删),j是用来初始化并与a[10]记录有多少余数的,x转换sqrt(N),n,m是循环判断有没有相同的的位数。
数据处理:  表达式:a[j++]=M%10,M=M/10,x*x==N;
           流程结构:先做好前期准备,x是N开平方后的值。再循环记录各位数。再循环判断是否位数有相同的。最后再判断可不可以开平方。

1.2.2

实验代码截图

1.2.3

造测试数据

数据 结果 说明
143 145 cnt=1 只有一个符合条件
0 1 0 没有符合条件的
1 100 cnt=1 正常数值

1.2.4

PTA提交列表及说明

说明

部分正确:没有将a[j]=M加上去,开始以为没必要,其实这是要用来储存最后一位数的

部分正确:开始时a[j++]是a[j]没有用来记录,储存数的作用。

三、代码互评

同学代码

第一位

第二位

自己

第一位

  • 主要的区别还是同学用了函数,而我是用的while循环来输入棱形的组数,我的更加简单,方便。同学的更高层次,可以应对更多的情况。

  • 总的棱形的输出都是差不多的。

  • 都用了细节getchar()消掉最后的回车。

第二位

  • 本质的思路与想法没有太大的差别。

  • 同学的将一些小细节,一些转换直接套用,我的是分开要一步步来,我的更详细,同学的更熟练。

3.1学习总结(15分)

3.1 学习进度条(5分

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周 6小时 262 怎么输出内容 一些结构的定义
第九周 8小时 670 开始输入及套用公式 字符的一些定义
第十周 24小时 593 数组 迷糊流程,字符串,以及对题目的处理
第十一周 30小时 1034 函数 宏定义,对题目不能很好的反应过来
第十二周 32小时 2431 EOF等一些基本知识,接触到了c++ 对于一些函数还不能很好的运用
第十三周 32小时 2742 switch的灵活运用 用函数去表达素数
第十四周 28小时 2324 which,do while 循环 将之前所学的知识结合起来运用,循环会乱
第十五周 28小时 2453 熟悉break、continue的使用 循环逻辑有点混乱
第十六周 33小时 2489 函数返回值 对于函数还不够熟练,没有经常性的用到

3.2累积代码行和博客字数(5分)

时间 博客字数 代码行数
第八周 585 262
第九周 1031 670
第十周 1289 593
第十一周 1413 1034
第十二周 1664 2431
第十三周 1998 2742
第十四周 2453 2324
第十五周 1902 2453
第十六周 2017 2489

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

3.3.1 学习内容总结

3.3.2 学习体会

函数的话其实之前都不怎么熟练,经过后面课堂上的学习又更加了解了一些,如果时间允许的话,其实是可以将以前写过的部分题目转为用函数来表示。再接着就是要期末了,先不说其他的科目,助教也要助教测试了,内心真是百感交集,总的一学期,学的东西还是有的,但是还不够,新的题目应该是没用了,还是看看之前学过的来复习比较实在。保持积极的心态!
posted on 2020-12-20 13:12  浮生若梦☆  阅读(157)  评论(9编辑  收藏  举报