| 这个作业属于那个课程 | C语言程序设计I |
|---|---|
| 这个作业要求在哪里 | C语言I博客作业11 |
| 我在这个课程的目标是 | 复习前面所学的语句和循环,学习有关函数的知识 |
| 这个作业在那个具体方面帮助我实现目标 | C语言教材书,老师课堂讲的内容,同学的帮助 |
| 参考文献 | C语言程序设计,百度,《C primer plus》,集美大学灵丽老师 |
1.PTA实验作业

1.1统计某类完全平方数 (20分)
本题要求实现一个函数,判断任一给定整数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.2.1数据处理
1.1.2实验代码截图

1.1.3 造测试数据
1.1.4 PTA提交列表及说明

Q1:编译错误
A1:
Q2:答案正确
A2:
1.2
1.2.2实验代码截图
1.2.3造数据测试
1.2.4 PTA提交列表及说明
说明:无错误
同学的题目代码
(num1)
(num2)
我的题目代码
说明比较不同与相同:num1和我的区别在于根本方法不一样了,看了老半天也没有看懂,可能一时半会儿看不懂,简单说就是 定义了整型函数i循环次数,n代表2的幂数
定义a2的b次方,b做幂数递增,c是计数器,作为2的幂从1开始循环一次加1,将数化成2的次方形式,减少循环次数,其实有些思想也是类似
num2和我的代码思路基本一致,只不过他用了一个count++和if(count=0)来判断是否输出,我用的是一个flag
学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 9.16~9.22 | 5h | 16 | 刚开始了解如何编程 | 编译的单词和字母数字都有哪一些作用,编译整个过程又是如何运行的 |
| 9.23~10.6 | 28h | 32 | 学会如何运用markdown语法 | 为什么会这么难 |
| 10.7~10.11 | 40h | 211 | 学会了编程的数学函数,对PTA也更熟练了 | 好折磨人 |
| 第4周/10月10~17 | 两天半 | 183 | 掌握并学会使用for循环语句 | 还有多种循环语句不了解,循环结构和分支结构谁先编 |
| 10.20-10.26 | 俩天 | 192 | 定义和调用函数,以及如何在一个函数中调用另一函数 | 生成乘方表跟阶乘表这方面的内容还有很多不懂的,觉得完成作业很费力气 |
| 10.27~11.2 | 两天半 | 220 | 如何进行语句的嵌套,对运算符的等级高低有所了解,熟悉多分支结构、字符型数据类型和逻辑运算符 | do语句和do-whlie语句搞不清 |
| 11.4~11.10 | 俩天 | 256 | 学会switch语句 | 很多地方不明白,一俩句话讲不清楚 |
| 11.11~11.17 | 俩天 | 273 | 学会了while循环,并区别do-while和while | 学习新的东西,然后对数组有疑惑 |
| 11.18~11.24 | 俩天 | 286 | 学会continue的使用,并且熟练,学数组 | 对数组还有一点点不懂 |
| 11.27~11.29 | 一天半 | 311 | 新学会pow,flag用处 | 继续学习之前没懂的地方 |
3.2 累积代码行和博客字数

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

3.3.2 学习体会
每次都有新的收获,新的体会,C语言的感觉越来越难,同时也越来越棒,做出PTA的成就感无与伦比,敲代码的贼得劲,中间会遇到很多问题,也会很烦恼,
但是正确的办法就是勇敢迎接挑战,,这样才能真正的成长起来!!!