| 这个作业属于那个课程 | C语言程序设计I |
| 这个作业的要求在哪里 | C语言I作业11 |
| 我在这个课程的目标是 | 掌握C语言程序设计的基本编程能力 |
| 这个作业在那个具体方面帮我实现目标 | 加强对函数的深刻理解,同时对变量的作用域和生存周期的理解 |
| 参考文献 | PTA Devc++ C语言程序设计 |
1.PTA实验作业(20分/题)

1.1 统计某类完全平方数 (20分)
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1 数据处理
数据类型:用了n,b,m的三个变量,都是整形变量。
数据处理:
int IsTheNumber ( const int N ){
int n=N;
int b;
int p[10]={0};
int m=sqrt(n);//对n进行看根号
if(m*m==n)//判断是否m的平方是不是n
{
while(n)
{
b=n%10;//取余
p[b]++;//对数组加1
n/=10;//
}
for(int i=0;i<=9;i++)//循环十次
{
if(p[i]>1)//如果有相同的位数就是2了,就应该输出1
return 1;
}
}
return 0;
}
1.1.2 实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 样例 | ||
| 随机 |
1.1.4 PTA提交列表及说明

1.编译错误:一开始对位数错误,我一开始只有9位。
2.编译错误:循环次数没有打等于。
3.答案正确:。。。
1.2 统计各位数字之和是5的数 (20分)
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1 数据处理
数据类型:用了s,m,sum,number,a,b,count七个变量,都是整形量。
数据处理:
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 样例 | ||
| 随机 |
1.2.4 PTA提交列表及说明

1.编译错误:
2.格式错误:printf里面那个我是先打的空格,在打的逗号。
3.答案错误:。。。
2.代码互评(5分)
同学代码截图
自己代码截图
3.学习总结(15分)
3.1 学习进度条(5分)
| 日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 10/7--10/13 | 8个小时以上 | 106 | if-else语句 常用的数学库函数 数据类型 | 分不清变量用什么%d,%lf |
| 10/12-10/17 | 五个小时以上 | 90 | for循环语句 | 为什么不能直接用i来表示分母。 |
| 10/18-10/25 | 四个小时以上 | 96 | 调用函数 | 对函数调用时还有声明函数时变量能选一样的吗,还有就是对return后面打的东西不了解 |
| 10/26-11/2 | 8个小时以上 | 134 | 学习了常量和变量 | 用太多的if-else语句那个{}的数量很乱 |
| 11/3-11/8 | 8个小时以上 | 128 | 学习switch语句 | 对case 1 case 2共用一个表达式其它的表述方法 |
| 11/9-11/15 | 五个小时以上 | 98 | 学习了while语句和do-while语句 | 伪代码的书写 |
| 11/16-11/22 | 五个小时以上 | 87 | 学了循环的嵌套和break语句,contitue语句 | 循环语句用起来比较晕 |
| 11/24-11/29 | 六个小时以上 | 102 | 加强对循环的嵌套的运用 | 循环的嵌套没有用最佳的方案,同时对求余必须是同数据类型 |
| 11/30-12/6 | 五个小时以上 | 加强对函数的理解,对变量的作用域和生存周期有认识 | 就是数据区的分类有点晕 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结

3.3.2 学习体会
这周的学习的效率还是挺高的,但是课堂的效率不是很高,主要是那个变量的分类,一开始只有两个还不晕,等到数据区的分类,那就是头脑一团胡,但是课后还是看了书的,看了书就懂了,但是还是有一种那种一会懂一会不懂,只要还是不太熟练,然后讲下那个pta的题目吧,那是真的难,但是吧,你只要做出一个来,就特别有成就感,然后一股气写下去,总的来说,这周我还是挺爽的。