问题 | 答案 |
---|---|
这个作业属于哪个课程 | C语言程序设计Ⅱ |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10131 |
我在这个课程的目标是 | 掌握C语言,并熟练操作。 |
这个作业在那个具体方面帮助我实现目标 | 完成pta作业,进一步了解各种函数的定义 |
参考文献 | 百度百科,伪代码,CSDN |
1.PTA实验作业
1.1 6-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数据处理
数据表达:
定义n,m,i三个变量与一个含有10个数的数组a,运用if,while语句进行表达。
数据处理:
Begin int n←(int)sqrt(N*1.0),m←n*n; if{ int a[10]←{0} while{ int i←m%10; a[i]++; if(a[i]==2) return 1; m←m/10; } } return 0;
1.1.2实验代码贴图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
200 700 | cnt=5 | 随机数据 |
100 900 | cnt=9 | 随机数据 |
500 999 | cnt=2 | 随机数据 |
1.1.4 PTA提交列表及说明
答案错误:定义n时表达式中未用1.0
答案错误:while循环结构中一个表达式写错了
1.2 6-2 统计各位数字之和是5的数
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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 数据处理
数据表达:
定义
数据处理:
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
200 2000 | count = 25 sum = 20330 | 随机数据 |
300 5000 | ![]() |
随机数据 |
300 6000 | count = 41 sum = 76129 | 随机数据 |
1.2.4 PTA提交列表及说明
编译错误:不等于符号写成了一个‘!’
编译错误:输出结果的格式错误
2.代码互评
2.1题目6-1
2.1.1自己代码
2.1.2同学代码
不同之处:
3.学习总结
3.1 学习进度条
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第五周 | 3h | 30 | 简单的代码编写,Markdown语法的学习 | 无 |
第六周 | 4h | 40 | 温度的转换 | 无 |
第七周 | 7h | 83 | if-else语句,计算简单函数 | 做题的时候对题目理解的不够彻底 |
第八周 | 15h | 79 | for循环型语句,编译简单循环型题目 | 无 |
第九周 | 9h | 110 | 函数的调用和定义一个新函数 | 定义新函数还是有点不太熟练 |
第十周 | 20h | 130 | 分支结构运用,逻辑运算符和字符型数据 | 无 |
第十一周 | 24h | 130 | switch语句的使用 | 写作业时还是遇到了一点麻烦 |
第十二周 | 27h | 150 | while语句和do-while语句的运用 | 到底什么时候该用那种语句 |
第十三周 | 30h | 160 | continue语句,以及循环的嵌套 | 对于嵌套问题还是有些不会 |
第十四周 | 24h | 150 | 认知了穷举法,简单循环结构使用 | 复杂的循环问题弄不来 |
第十五周 | 24h | 160 | 加深对函数的定义方法 | 自己定义新函数时不太熟练 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
前期我们接触过函数的调用,这次我们学习了函数的定义,更加的完善,但是也越来越复杂。随着期末临近,也开始有点急躁,担心这担心那。 还是得放平心态,这样学习效率也会大幅度提升。也不至于浑浑噩噩,没学什么东西。端正心态,继续加油!