本周作业头
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/10126 |
我在这个课程的目标是 | 学习函数,并掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。 |
这个作业在那个具体方面帮助我实现目标 | 完成PTA作业 |
参考文献 | 《C语言程序设计》,百度百科 |
1.PTA实验作业
1.1 题目1:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
裁判测试程序样例:
#include <stdio.h> #include <math.h> int IsTheNumber ( const int N ); int main() { int n1, n2, i, cnt; scanf("%d %d", &n1, &n2); cnt = 0; for ( i=n1; i<=n2; i++ ) { if ( IsTheNumber(i) ) cnt++; } printf("cnt = %d\n", cnt); return 0; } /* 你的代码将被嵌在这里 */
输入样例:
105 500
输出样例:
cnt = 6
1.1.1 数据处理
- 数据表达:使用了整形变量x,y,a,b变量,使用了数组表达;
- 数据处理:伪代码:
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt = 6 | 有6个数满足条件 |
100 400 | cnt = 5 | 有5个数满足条件 |
200 600 | cnt = 6 | 有6个数满足条件 |
1.1.4 PTA提交列表及说明
- Q1.编译错误
- A1:使用了错误的变量写入代码
1.2 题目2:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
函数接口定义:
int is( int number );
void count_sum( int a, int b );
函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。
函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式
count = 满足条件的整数个数, sum = 这些整数的和
进行输出。题目保证0<a≤b≤10000。
裁判测试程序样例:
#include <stdio.h> #int is( int number ); void count_sum( int a, int b ); int main() { int a, b; scanf("%d %d", &a, &b); if (is(a)) printf("%d is counted.\n", a); if (is(b)) printf("%d is counted.\n", b); count_sum(a, b); return 0; } /* 你的代码将被嵌在这里 */
输入样例:
104 999
输出样例:
104 is counted.
count = 15, sum = 3720
1.2.1 数据处理
- 数据表达:使用了整形变量s,t,n,while语句以及if-else语句;
- 数据处理:伪代码:
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted/count = 15, sum = 3720 | 满足条件,且个数为15个,整数和为3720 |
100 125 | 104 is counted/count = 3, sum = 339 | 满足条件,且个数为3个,整数和为339 |
200 800 | 203 is counted/count = 10, sum = 3110 | 满足条件,且个数为10个,整数和为3110 |
1.2.4 PTA提交列表及说明
2.代码互评
同学代码截图
(来自软件三班李志玉同学的代码)
自己代码截图
说明:
- 1.我们使用了不同的整形变量,但作用类型差不多;
- 2.我们使用不同的变量来定义一个数量为10的数组;
- 3.方法大致相同,但她的代码更简便一点。
同学代码截图
(来自软件三班李志玉同学的代码)
自己代码截图
说明:
- 1.采用了不同的整形变量来表达求数和求和,都使用了while和if-else语句;
- 2.她先定义digit表示位数最终用sum进行累加,而我先用t,s变量表示,后面再引入。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 四个小时 | 40行 | 初步接触编程与c语言,在电脑上显示Hello World | 对所有编程的事物都很懵 |
第二周 | 十二个小时 | 65行 | 了解MinGW-w64安装教程并完成了GCC编译器的安装,并用 MinGW-w64 来编译 C程序 | 不是很熟练地掌握安装和编译 |
第三周 | 十五个小时 | 100行 | 练习对表格的使用和PTA里的题目,对编程开始提高速度和准确性 | 有些难的编程题目是真的很难做动 |
10.14~10.20 | 20小时 | 150行 | 学习指定次数的循环程序设计,以及power的用法 | 循环程序的题型很多,有些也比较复杂,不是很容易理解 |
10.20~10.27 | 20小时 | 180行 | 能模仿编程,认识函数,编辑思维导图 | 用C语言编写程序生成乘方表与阶乘表没有很掌握好 |
第十周 | 32小时 | 526行 | 多分支结构、字符型数据类型和逻辑运算符 | 循环类的题目没有完全掌握 |
第十一周 | 40小时 | 760行 | 学会用switch语句 | 对于break语句的一般的三种使用方法没有运会得当 |
第十二周 | 42小时 | 805行 | 使用while和do-while结构解决问题 | 对新学习的循环语句没有掌握好 |
第十三周 | 35小时 | 1000行 | 学习break、continue的使用,学习使用循环的嵌套解决问题 | 对continue语句的使用还有一些困扰 |
第十四周 | 32小时 | 1200行 | 熟悉掌握循环语句的所有结构 | 写挑战题时很难下笔 |
第十五周 | 36小时 | 1450行 | 学习函数的语法,掌握各种类型函数的定义、调用和申明 | 对变量的生存周期和存储类型有点困扰 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
- 1.这周新学习了几种函数语法,感觉理解起来有点难度,得好好的学;
- 2.发现这周的PTA作业有点多,而且编程题有点难度,做题目花的时间也较多;
- 3.这已经是第十五周了,已经是快临近期末啦,对于期末的考试还是有点紧张的。毕竟,自己的掌握的知识点不多而且不牢固,要多花时间去复习,备战期末。