一、本周教学内容&目标
第5章 函数 要求学生掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。
二、本周作业头
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I作业11 |
我在这个课程的目标是 | 掌握类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 |
这个作业在那个具体方面帮助我实现目标 | 练习markdown语法以及自主寻找资料的能力 |
参考文献 | 百度 |
三、本周作业
1. PTA作业
6-1 统计某类完全平方数 (20分) .
1.1.1 数据处理
- 数据表达:提出n来确定行数,i,j用于for循环,字符型数组存储26个英文字母;
- 数据处理:
for <- 1 to n; do m=m-1; for <- 1 to m; do 计数器加一; printf 字符; end printf 换行; end
1.1.2 实验代码截图
本题要求实现一个函数,判断任一给定整数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.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | ![]() |
输入题给数据验证 |
2 | ![]() |
输出未超过26个字符 |
6 | ![]() |
输出未超过26个字符 |
7 | ![]() |
超过26个字符 |
1.1.4 PTA提交列表及说明
1.答案正确:较为简单,但是发现还能更简单,直接让输出的字符每次加一,不需要数组了;
6-2 统计各位数字之和是5的数 .
1.2.1数据处理
- 数据表达:给入正整数n,i用于for循环,以count做计数器;
- 数据处理:
for <- i to n; do 对比自定义函数的返回值与1的关系; if 成立 THEN do 计数器加一 printf 符合的数字; end; if 计数器为0 do 输出 None;
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.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
6 | ![]() |
输入题给条件验证 |
7 | ![]() |
正常数据验证 |
19 | ![]() |
题目条件最大n |
1.2.4 PTA提交列表及说明
1.答案正确:我们只需要确定这个数字是不是个2的n次方-1而且是不是个素数,通过直接确定自定义函数来解决;
2. 代码互评
同学代码 | 自己代码 | 同学代码 |
---|---|---|
![]() |
![]() |
与同学的代码的却别是我使用了自定义函数来进行验证书的后几位和平方前的数是否相同,而他直接在主函数中进行验证 比我更加的简便;
3. 学习总结
3.1 学习进度条.
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第七周 | 9小时 | 513 | 定义函数 | return的返回位置 |
第八周 | 12小时 | 467 | 局部变量与全局变量 | 暂无 |
第九周 | 12小时 | 483 | 数组 | 暂无 |
第十周 | 14小时 | 723 | 指针 | 暂无 |
第十一周 | 15小时 | 832 | 结构 | 暂无 |
第十二周 | 17小时 | 728 | 指针(内容更多) | 暂无 |
第十三周 | 15小时 | 732 | 结构 | 暂无 |
第十四周 | 13小时 | 537 | python | 暂无 |
3.2 累积代码行和博客字数 .
3.3思维导图
3.3.1 学习内容总结与体会
对于python的学习正在进行着,从网上寻找视频来学习,但由于本周班级活动较多,学习的内容不多,现在只学习了一些基本的语法;