这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/10126 |
我在这个课程的目标是 | 了解函数的分类,作用以及功能,复习怎样调用函数和定义函数 |
这个作业在哪个地方具体方面帮助我实现目标 | PTA作业,《C Primer Plus》,C语言的课本 |
参考文献 | C语言程序设计 ,百度百科 ,百度文献 |
1.PTA实验作业
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
", cnt);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
105 500
输出样例:
cnt = 6
1.1.1数据处理
数据表达:将r n a定义为整型,运用了数组
数据处理:表达式是d=n%10;a[d]++;
伪代码:
1.1.2实验截图代码
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt = 6 | 有6个是满足的 |
200 880 | cnt = 5 | 有5个是满足的 |
100 500 | cnt = 7 | 有7个是满足的 |
1.1.4 PTA提交列表及说明
说明:①编译错误:r=sqrt(N)并未定义;
②答案正确:将r=sqrt(N)定义
1.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.
", a);
if (is(b)) printf("%d is counted.
", b);
count_sum(a, b);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
104 999
输出样例:
104 is counted.
count = 15, sum = 3720
1.2.1数据处理
数据表达:将c,d,sum定义为整型,运用了if-else循环结构,用了for循环结构
数据处理:表达式是c=a%10;sum=sum+c;a=a/10;count++;sum=sum+i;
伪代码:
1.2.2实验截图代码
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted. count = 15, sum = 3720 | 有15个满足条件的整数,整数和为3720 |
300 888 | count = 6, sum = 2244 | 有6个满足条件的整数,整数和为2244 |
200 800 | count = 10, sum = 3110 | 有10个满足条件的整数,整数和为311 |
1.2.4PTA提交列表及说明
2代码互评
1.同学代码截图(李杰同学)
2.自己代码截图
说明:除了变量定义的不同外,while内的循环体有点不一样
3.同学代码截图(李杰同学)
2.自己代码截图
说明:除了变量不同以外基本上的一样的思路
3.学习总结
3.1学习进度条:
周/日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第4周/9.16~9.22 | 2h | 40 | 初步了解c语言,编写一些简单的代码 | 不知道为什么那样编写,不知道到每个字符的意思 |
第5、6周/9.23~10.6 | 50h | 90 | 学会用markdown语法写博客园,学会下载用编程软件并且初步了解,学会如何提问 | 还是不太熟悉编程软件的使用流程,PTA编程出错后还是要寻找半天 |
第7周/10.7~10.11 | 20h | 176 | 学会使用if-else语句,格式化输入语句scanf(),初步了解了各个数据类型 | 每个数据类型还是不太熟悉,每个语句的细节没有太了解 |
第8周/10.14~10.20 | 15h | 222 | 学会了for循环语句,循环结构以及语句的三个表达式,初步了解指定次数的循环程序4个部分 | for循环语句还不太熟练 |
第9周/10.21~10.26 | 20h | 266 | 学会如何在定义函数,并且学会如何调用它,然后学会如何检查函数出错处,学会运用系统的总结学习经验 | 对于如果调用和定义函数还不太熟悉,如果使用辅助工具还不太熟悉 |
第10周/10.27~11.2 | 13h | 364 | 续熟悉调用定义函数、了解字符型数据类型,熟悉逻辑运算符和分支结构 | dev-c++的运行出现问题,然后通过上了知乎才解决;然后那个字符型数据类型还不太会 |
第11周/11.3~11.8 | 10h | 456 | 了解熟悉多分支结构switch语句的使用 | 对于题目传化为代码还是比较迷惑 |
第12周/11.9~11.16 | 11h | 503 | 了解熟使用while和do-while循环结构解决问题 | 对于for,while,do-while等循环结构的运用和区分还是不太清楚 |
第13周/11.17~11.22 | 13h | 560 | 了解熟悉break、continue语句的使用 , 了解熟悉使用嵌套循环 | 对于嵌套循环的应用还不够熟悉,没有很好的区分break和continue语句的作用 |
第14周/11.23~11.29 | 15h | 580 | 继续熟悉嵌套循环结构并且复习以前的for、if-else循环语句 | 对于最近学的整体把握还不够熟悉,不能灵活运用 |
第15周/11.30~12.6 | 13h | 650 | 了解函数的分类,作用以及功能,复习怎样调用函数和定义函数 | 各种小的知识点不是太了解,新学是知识反义较慢 |
3.2 累积代码行和博客字
3.3 学习内容总结和感悟
3.3.1 学习内容总结
请用思维导图的形式将到目前为止所学的内容进行整理
3.3.2学习体会
①这一周明显感觉到了知识点难度而且越到后面感觉题目越来越难,但是不放弃坚持下来是最好的
②下周进行考试,所以我需要进行系统性的复习加固自己的知识体系。