作业格式
1.PTA实验作业

1.1 6-1 统计某类完全平方数
* 题目内容描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等
1.1.1 数据处理
* 1.数据表达:
int IsTheNumber ( const int N )
{
int ← sqrt(N);
int n ← N;
int a[10] ← {}; //变量r,n,a,
if(r*r = N){ //筛选是否为完全平方数
int d;
while(n){
d ← n%10;
a[d]++;
if(a[d]←2){ //设a[d]==2定义
return 1;
break;
}
n/←10;
}
}
return 0;
}
* 2.数据处理:用int整型n1,n2的变量
1.1.2 实验代码截图

1.1.3造测试数据
输入数据 |
输出数据 |
说明 |
121 440 |
cnt=4 |
 |
169 225 |
cnt=1 |
 |
1.1.4提交列表及说明

* 编译错误: int r=sqrt(N); int n=N; int a[10]={};一开始将这三个用int定义的变量合并为一个了,结果发现是编译错误,放在devec++上运行,发现是好像说的是不能这样放,所以就把他们分开了,重新弄了三个用int定义的。
1.2 6-2 统计各位数字之和是5的数
* 题目内容描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1 数据处理
* 1.数据表达:
int is( int number )
{
int sum ← 0,n;
while(number≠0) //while的语句
{
n ← number%10; //定义n,赋值number%10
sum ← sum+n;
number ← number/10;
}
if(sum==5) //用if语句,赋sum的值
{
return 1;
}
else
{
return 0;
}
}
void count_sum( int a, int b )
{
int i,count←0,sum←; //用int定义i,count,sum全为原始值0;
for(i←a;i<←b;i++)
{
if(is(i))
{
count++;
sum←sum+i;
}
}
printf("count ← %d, sum ← %d\n",count,sum); //printf输出
}
1.2.2实验代码截图

1.2.3造测试数据
输入数据 |
输出数据 |
说明 |
104 999 |
104 is counted.count = 15, sum = 3720 |
这个的各位数之和为5 |
1.2.4提交列表及说明

* 编译错误:对于这一系列的编译错误,无非还是小细节上的错误,比如说这一系列的操作【void count_sum( int a, int b ){ i,count=0,sum=0; if(is(i)){ count++;】,其实很难想到去这样做,然而这些却又是这道题的关键,审题不清,导致变量以及变量摆放的位置有点差异,所以会导致编译错误。
二.代码互评


* 第一个是我的,第二个是同学的,这两个代码差别不大,区别在于定义的变量数不一样,前者比较定义得多,后者则比较简洁,所以,整体看下来后者的代码比较清晰易懂,他的思路也很清楚,这道题他的代码优势更突出。
3-1.学习进度条
周/日期 |
这周所花时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
第一周(9.19-9.27) |
7天 |
28行 |
学到了最简单的格式以及一些些语法,懂得一些编译的注意事项 |
不懂为什么要那样注意编译,错一个像欠一个空格这样的就都不对还有一些特定的符号的用处 |
第二周(9.25-10.4) |
5天 |
20行 |
学会了对于程序设计的一些东西,比如计算啊,就会自己开始编程,解决问题时就会简洁许多 |
不知道一些符号代表什么意思,就只是死记了下来 |
第三周(10.8-10.11) |
3天 |
102行 |
这周PTA作业较多,难度系数较大,因为都不是书上的,要自己开始琢磨,怎么去排列和提出问题,学会的东西也更多,知道自己编程和自己想办法去找错误,以及怎样思考这样的一些步骤 |
很多很多的#include代表什么意思,还增添了许多新符号,不知道是什么意思,只知道一些浅显的表层使用 |
第四周 |
8个小时 |
84行 |
学到了新的“for"循环语句,又多懂了一些格式的注意事项 |
有时候自己的循环体有点搞不清楚,到底该怎样去设 |
第五周 |
3天 |
89 |
学到了什么是调用函数(主调函数和被调函数)还有声明函数 |
有些函数类型还不是特别熟悉 |
第六周 |
3天 |
124 |
学了分支结构,更加熟练运用if和else语句 |
感觉还行,没有特别不会的地方 |
第七周 |
3天 |
91 |
学了switch语句,觉得更加好用,全是case比较简单实用 |
switch语句掌握得还不是特别好,老是一下想不起来 |
第八周 |
3天 |
72 |
学了while语句和do while语句 |
pta作业有点难,还有一些搞不清的地方,while和do while做题目的时候不知道用哪个 |
第九周 |
3天 |
60 |
本周学了foe循环的嵌套语句 |
本周作业没有完成得很好,还需要改进很多,对于for循环的使用得多多写写代码,才能越来越熟练。 |
第十周 |
3天 |
123 |
本周算是将上几周的内容概括了一遍 |
pta题目很难,问了许多人,改了许多遍才完成,也算记忆深刻一些吧 |
第十一周 |
3天 |
51 |
本周题目难度较大,学了新的函数名的调用,实参和形参,还有全局变量和局部变量 |
分不清全局变量跟局部变量,然后参数形式也不太懂 |
累计代码行和博客字数

思维导图

3.3学习感悟
* 这周学习了关于形参和局部变量以及全局变量,我觉得有点难懂,函数名也挺多的,这次的pta作业超级难,我大部分题目都是猜加查资料,一个题目需要花费很长时间,所以印象自然会深一点点,但是还是有很多不懂得地方,我会多看看例题或问问其他人来解决。