这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业属于哪个课程 | 班级的链接 |
这个作业要求在哪里 | 作业的要求 |
我在这个课程的目标是 | 运用string.h,学习time.h,stdlib,enum枚举,自定义函数。学习指针 |
这个作业在那个具体方面帮助我实现目标 | 方便掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型,学会优化自己的代码,借鉴他人的代码,拓宽知识面 |
参考文献 | c语言程序设计(第三版) |
学号 | 20208927 |
1.PTA实验作业
1.1 统计某类完全平方数
题目内容描述:
1.1.1数据处理
数据表达:均为整型变量.n为n1和n2间的数,b为存储求取余余数的变量,定义p[10]数组,定义m为对n取开二次方后的整数部分。
数据处理:(伪代码如下)
p[0..10]={0} 数组存的是0-9数字的个数,先全部初始化为0
if(m*m==n) 因为m为对n取开二次方后的整数部分,若平方等于n,则可以满足条件
while(n) 默认n大于0的情况
b←n%10
p[b]←p[b]+1
n/←10
for(int i=0;i<=9;i++) 判断是否存在两位数相同
如果N满足条件,则该函数返回1,否则返回0
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt = 6 | 正确 |
1.1.4 PTA提交列表及说明
1.答案错误:数组内容忘初始化为0
1.2 统计各位数字之和是5的数
1.2.1 数据处理
数据表达:全为整型变量。第一部分:判断数字之和是否为5
t为存储求取余余数的变量,sum为数的和,i判断是否满足,number是区间里的数。
第二部分:s为满足各位数字之和为5的数之和,c为统计的满足条件的数的个数,i为返回的值。
数据处理:(伪代码如下)
while(number!=0)
t←number%10
sum+←t
number←number/10
if(sum==5) 判断
返回1为真,0为假
for(i=a;i<=b;i++)
if判断返回的值是否为真
cc←1
s+←i
输出结果
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | ![]() |
正确 |
1.2.4 PTA提交列表及说明
一次性输出正确
**1.3 解一元二次方程 **
题目内容描述:
1.3.1数据处理
数据表达:数据类型为高精度浮点型,输入a,b,c为题目要求,x,y为方程的两个解,z为共轭的实数部分
(共轭负数实数部分相等)
数据处理:(伪代码如下)
(略)
1.3.2实验代码截图
1.3.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
10 40 | ![]() |
正确 |
1.3.4 PTA提交列表及说明
1.编译错误:括号错误
2.部分正确:有些情况没有考虑到,做着做着忘了题目
看题,注意细节问题。有些问题我也不知道为什么要这样,它就是题目说明了要这样
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
自己代码截图
对比:第二位同学的最麻烦,用了一个if-else的语句判断,第一位同学的比我的简单,不需要判断
反正是倒着输出,先输出前面的,最后输出特殊的a[0]
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
12.14-12.18 | 23小时 | 300 | stdlib.h标准库,enum枚举 | 啥也不会用 |
12.9-12.11 | 23小时 | 400 | 指针 | 指针的使用,只有概念,不能够去运用 |
11.30-12.4 | 24小时 | 400 | 排序,指针 | string.h |
11.23-11.26 | 22小时 | 600 | string.h | gets,puts |
11.15-11.21 | 22小时 | 500 | string.h,接触基础c++ | vs和Dev的快捷键不会使用,string |
11.10-11.14 | 26小时 | 300 | 自定义函数,二维数组,宏定义,const | 不会用复杂的宏定义和const |
11.2-11.8 | 26小时 | 600 | 循环嵌套,一维数组,二维数组 | 如何把问题简单化,灵活调用循环和函数 |
10.26-11.1 | 24小时 | 500 | 循环嵌套,选择排序,冒泡排序 | 排序很蒙,逆时针坍缩不懂 |
10.19-10.25 | 24小时 | 200 | switch-case,循环 | 无 |
3.2 累积代码行和博客字数(5分)
时间 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 1052 | 200 |
第九周 | 1677 | 500 |
第十周 | 3252 | 600 |
第十一周 | 5186 | 300 |
第十二周 | 6824 | 500 |
第十三周 | 8347 | 600 |
第十四周 | 9995 | 400 |
第十五周 | 11595 | 400 |
第十六周 | 13203 | 300 |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
我真的真的觉得博客园的作业可以简单一点点,我觉得应该知识点从概念的接触到小问题的解决需要大量的练习,不应该从概念直接到比较复杂的运用,PTA太难了会让同学产生一种C语言太难的心理障碍。而且我也觉得C语言的水真的非常深,一开始只是接触到stdio.h这个库,到后来慢慢的stdlib.h,time.h,还有许许多多的库,还没有接触过,而且有些代码真的听得懂也看得懂,可就是上手就废,全是报错。我觉得单纯学习别人的代码是远远不够的,在你学习完之后,你能够在短时间内解决同样的问题或者类似的问题,才是真正的掌握。