C语言I博客作业09
|这个作业属于那个课程 |https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
| ---- | ---- | ---- |
|这个作业要求在哪里 |https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11635 |
|我在这个课程的目标是 |掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。 |
|学号 |20208983 |
一、本周作业
1.PTA实验作业

1.1 统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1数据处理
数据表达:用到了需要输入的整型n1, n2, i, cnt和自定义的整型sa=0,sq=0,sw=0,se=0,sr=0,st=0,sy=0,su=0,si=0,so=0,a,n,v;;
数据处理:
表达式:
a=v%10;
v=v/10;
case 0:sa++;break;
case 1:sq++;break;
case 2:sw++;break;
case 3:se++;break;
case 4:sr++;break;
case 5:st++;break;
case 6:sy++;break;
case 7:su++;break;
case 8:si++;break;
case 9:so++;break;
流程结构:运用了自定义函数和switch语句,if语句处理数据;
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 105 500 | cnt = 6 | 在输入的范围内有6个满足条件 |
| 105 321 | cnt = 3 | 在输入的范围内有3个满足条件 |
| 345 560 | cnt =3 | 在输入的范围内有3个满足条件 |
| 213 456 | cnt =3 | 在输入的范围内有3个满足条件 |
1.1.4 PTA提交列表及说明

问题:部分正确:一开始忽略了0的情况,导致答案错误
解决:在第十二行加上case 0:sa++;break;
1.2 解一元二次方程

1.2.1 数据处理
数据表达:运用到了需要输入的整型 a,b,c和自定义的x,x1,x2;
数据处理:
表达式:
x=-(c/b);
x=(-b+sqrt(b*b-4*a*c))/(2*a);
x1=(-b)/(2*a);
x2=fabs(sqrt(4*a*c-b*b)/(2*a));
流程结构:运用了数学函数和if-else if语句处理数据;
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 0 4.5 -3.6 | x = 0.8 | 输入数据解的方程的根为输出数据 |
| 0 0 3.6 | 无解 | 输入数据解的方程无解 |
| 0.3 0 0 | x1 = x2 = 0 | 输入数据解的方程的根为输出数据 |
| -1 0.2 0 | x1 = 0, x2 = 0.2 | 输入数据解的方程的根为输出数据 |
1.2.4 PTA提交列表及说明

问题:1.部分错误:当方程有一个解和有两个解的条件弄错了;2.编译错误:在第23行多加了‘)’;
解决:1.交换一个解和两个解的条件;2.删掉多余的‘)’;
2.代码互评
同学代码截图


自己代码截图

1.两位同学都用到了数组,都是在if语句中运用了switch语句和数组处理数据;
2.我用到的也是if语句中运用switch语句,但是我没有用数组,而是分情况讨论;
3.与两位同学的代码相比,我的代码比较复杂,而同学的比较简洁,但我的代码比较易懂。
3.学习总结
3.1 学习进度条
| 日期 | 所花时间 | 代码行 | 学习内容 | 迷惑点 |
|---|---|---|---|---|
| 第一周10.12——10.18 | 8h | 30行 | 变量的类型 | 无 |
| 第二周10.19——10.31 | 15h | 110行 | if-else语句 | 无 |
| 第三周11.2——11.8 | 20h | 130行 | for循环 | 无 |
| 第四周11.9——11.15 | 23h | 160行 | 自定义函数 | 无 |
| 第五周11.16——11.22 | 25 | 240行 | 分支结构 | else——if语句的格式 |
| 第六周11.23——11.29 | 26h | 300行 | switch语句 | 无 |
| 第七周11.30——12.6 | 30h | 430行 | while语句 | 无 |
| 第八周12.7——12.13 | 32h | 450行 | break、continue的使用和循环的嵌套 | 语句镶嵌的格式 |
| 第九周12.14——12.20 | 34h | 460行 | 函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 | 函数的作用域、生存周期和存储类型不清楚 |
3.2 累积代码行和博客字数
| 时间 | 博客字数 | 代码行数 |
|---|---|---|
| 第一周 | 约500 | 30行 |
| 第二周 | 约600 | 110行 |
| 第三周 | 约800 | 130行 |
| 第四周 | 约1000 | 160行 |
| 第五周 | 约1100 | 240行 |
| 第六周 | 约1300 | 300行 |
| 第七周 | 约1400 | 430行 |
| 第八周 | 约1600 | 450行 |
| 第九周 | 约1500 | 460行 |
![]() |
3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
1.本周学习了各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。
2.在本周的学习中,发现自己没有花时间去多做题目,没有去复习,导致自己对知识点掌握的不熟练,做题时不能很好地运用,需要多练习。
3.本周过完后就快到学期末了,希望自己在下一周能多花时间去复习之前的知识,好好地迎接期末考试。


浙公网安备 33010602011771号