C语言I博客作业11
| 这个作业属于哪个课程? | C语言程序设计II |
|---|---|
| 这个作业要求在哪里? | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10131 |
| 我在这个课程的目标是 | 计算机中级执照 |
| 这个作业在哪个具体方面帮助我实现目标? | 熟练掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。 |
| 参考文献 | 度娘,教科书,《C Primer Plus》等。 |
1.PTA实验作业
1.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,a,i,m这些变量,从题目中可以得到,n,a,i定义为整型,m定义为浮点型。
数据处理:用了while语句来判定循环,其中用了for语句if语句。
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 105 500 | cnt = 6 | 题目所给数据检测 |
| 100 101 | cnt = 1 | 使用较小数据检测 |
| 999 1999 | cnt = 6 | 使用较大数据检测 |
| 666 777 | cnt = 1 | 使用随机数据检测 |
1.1.4 PTA提交列表及说明

1.2 题目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
作者: 颜晖
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
1.2.1 数据处理
数据表达:用了变量s,t,a,b,n;定义为整型。
数据处理:用了while语句,for语句,if语句。
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 104 999 | 104 is counted.count = 15, sum = 3720 | 题目所给数据检测 |
| 1 100 | count = 6, sum = 165 | 使用较小数据检测 |
| 888 999 | count = 0, sum = 0 | 使用较大数据检测 |
| 333 666 | count = 3, sum = 1311 | 使用随机数据检测 |
1.2.4 PTA提交列表及说明

1.编译错误:没有编写return 0;
2.编译错误:忘记写上输出语句printf输出“count = %d,sum = %d”。
3.答案错误:少写了一句n=n/10;
4.答案错误:依旧无法考虑进所有位数的情况。
2.代码互评
同学代码截图

自己代码截图

不同点:
1.定义的变量有很大不同。
2.他使用开根号用了一次,而我用了两次。
3.在while语句中我用到了for语句判定循环加if语句,而他只用if语句。
3.学习总结
3.1 学习进度条
|||||
|:--|:--|:--|:--|:--|
|周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
|第一周|3h|50|了解到了最基本的C语言程序语句|无|
|第二周|12h|118| 学习了用MinGw-w64来进行编程|无|
|第三周|16h|226|分段函数的表达,if,else语句的用法|对循环语句for的使用看不太懂|
|第四周|12h|230|学会了for循环语句的使用|对各语句的使用还是不熟练|
|第五周|15h|280|定义函数|对函数的定义还是有点混乱|
|第六周|14h|256|如何使用逻辑表达式及else-if语句|无|
|第七周|13h|235|多分支结构switch语句的使用|无|
|第八周|15h|289|whil语句和do-while语句的深入学习|无|
|第九周|13h|285|悉break、continue的使用,熟悉使用循环的嵌套解决问题|无|
|第十周|15h|311|综合循环结构的程序设计,涉及到多个典型算法|算法的掌握不够熟练|
|第十一周|15h|326|掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型|不够熟练,还涉及没有学到的内容|
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
从整体来说这pta作业是在不断的增加难度,未来的学习将更加的艰难,一恍惚看到了题目也不知道怎么动手去解决,脑袋短路,在每个题目上的分析花费的时间很久,做题的速度慢也在逐步体现,仅仅只是依靠这点pta的题目是不能好好的学好专业的,在课后还是要加强的书本内容的练习,不能放松对专业的学习,不然会落下许多,而每周都有新的内容灌输,这不得不让人着急,担心,所以只有每天坚持的不断练习才能不被“大佬们”甩开,虽然每次上课老师讲的东西不多,这更主要的是我们要课后努力去学习!没什么啦,还是好好加油!

浙公网安备 33010602011771号