| 这个作业属于哪个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | [C语言I作业11] http://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10125 |
| 我在这个课程的目标 | 复习掌握函数的使用 |
| 这个作业在哪个具体方面帮助我实现目标 | 学会运用函数解决方程问题 |
| 参考文献 | [C语言I作业11]http://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10125 |
PTA实验作业

题目一
6-1 统计某类完全平方数
数据处理
数据表达:定义了整型变量n和m,运用了IsTheNumber函数和sqrt函数,同时学习了数组,借助了数组,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
数据处理:
定义iIsTheNumber函数 ( const int N )
{
定义整型变量n = (int)sqrt(N*1.0);
int m = n * n;定义整形变量m=n的平方
if(m == N)
{
定义数组a中的10中元素为零元素
while (m > 0)
{
定义整形变量i = m % 10;
数组a中的i元素累加
if (a[i]==2) return 1;
m /=10;
}
}
return 0;
}
实验代码截图

造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 106 400 | cnt=4 | 106~400中有4类完全平方数 |
| 101 800 | cnt=7 | 101~800中有7类完全平方数 |
| 102 300 | cnt=3 | 102~300中有3类完全平方数 |
PTA提交列表和说明

- 编译错误;自己尝试运用pow函数和for函数做题目,发现做不出,可能自己没怎么学好,助教告诉我运用数组可以很好的解决问题,所以学习了一些有关数组的知识,再通过同学的帮助,这道题勉强会做
题目二
6-2 统计各位数字之和是5的数
数据处理
数据表达:定义了整形变量num和x,y,count,sum,使用了do-while结构,函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。
函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式
数据处理:伪代码
定义整形变量num
{
定义整形变量x,y,且y=0 ,y为各位数字之和
do{
x=num%10;
num=num/10;
y+=x;
计算各位数字之和
}while(num!=0);
如果和为5
输出正确
else
输出错误
}
void count_sum(int a,int b)
{
定义满足条件的整数个数count,且等于0,满足条件整数的和sum,且为0
定义整型变量i
i循环并累加
{
if(is(i))
{
count累加
计算sum的值
}
}
输出count和sum
}
实验代码截图

造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2 50 | 50 is counted count=6 sum=165 | 2~50中有六个各位数字之和为5,这些数的和为165 |
| 100 800 | count=15 sum=3720 | 100~800中有15个各位数字之和为5,这些数的和为3720 |
| 200 1500 | count=25 sum=20330 | 200~1500中有25个各位数字之和5,这些书的和为20330 |
PTA提交列表及说明

- 格式错误:题目做完后,在辅助工具上答案正确,但是在作业上显示格式错误,仔细检查发现printf("count = %d, sum = %d",count, sum);中间ount = %d, sum = %d没有空格
代码互评
同学代码

我的代码

- 对比代码:我们同样使用了数组,不过使用数组方面不同,他在开始的时候定义整形变量num并且借助数组,定义num中有9个元素,我的话是有10个元素
- 在后面他运用了for函数嵌套,而我运用了while语句
- 整体来看我的代码比较简单,他的比较深刻,不过各有特色
同学代码

我的代码

- 对比代码,我们都运用了while语句,不过我使用了while语句中的do-while结构
- 我们的思想是差不多的,只有在定义方面有不同
学习进度
学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 第四周 | 21h | 5 | 学会在屏幕上显示Hello World! | 暂无 |
| 第五周 | 19h | 25 | 学会求华氏温度对应的摄氏温度 | 暂无 |
| 第六周 | 14h | 140 | 如何用 MinGW-w64 来编译C程序 | 暂无 |
| 第七周 | 11h | 150 | 运用if语句完成各种数学程序 | 二分支结构有点模糊 |
| 第八周 | 10h | 390 | 学会了for循环语句 | for循环语句的具体用法不怎么清楚 |
| 第九周 | 7h | 620 | 学习了自定义函数 | 不怎么会使用自定义函数 |
| 第十周 | 6h | 800 | 学会了if-else语句 | 字符型数据的使用 |
| 第十一周 | 6h | 680 | switch语句的使用 | switch语句的具体用法 |
| 第十二周 | 5h | 500 | while和do-while | do-while结构的用法 |
| 第十三周 | 5h | 490 | break和continue | continue语句的具体用法 |
| 第十四周 | 4.5h | 420 | 复习函数使用 | while和for使用的区别 |
| 第十五周 | 12h | 400 | 复习函数使用 | 运用函数解决方程问题 |
累计代码和博客字数
| 时间 | 博客字数 | 代码行数 |
|---|---|---|
| 第四周 | 385 | 100 |
| 第五周 | 841 | 240 |
| 第六周 | 1331 | 480 |
| 第七周 | 1871 | 760 |
| 第八周 | 2771 | 1300 |
| 第九周 | 3991 | 1560 |
| 第十周 | 3991 | 1780 |
| 第十一周 | 5871 | 2150 |
| 第十二周 | 8421 | 2666 |
| 第十三周 | 11621 | 2889 |
| 第十四周 | 13492 | 3020 |
| 第十四周 | 13492 | 3020 |
![]() |
学习内容感悟和体会
学习感悟
作业做到后面发现自己存在着巨大的问题,难题越来越难
复习了函数,学会用函数解决一些方程问题

学习体会
1.本周的作业是最后一次作业,可以发现我之前的学习都没有学到脑子里,不过进步的是,能够理解别人的代码,而且敢于面对难题
2.时间分配不过,上课没有仔细听老师讲解题目
3.临近期末,还有许多知识点没有掌握,需要多多复习和询问老师同学解决,最少保证不挂科


浙公网安备 33010602011771号