一、PTA实验作业
题目1:7-2 求整数序列中出现次数最多的数
1. 本题PTA提交列表
2. 设计思路(用代码表示扣分)
- int n为输入的整数i,j,是循环变量,count=0表示出现最多的数的次数,indexindex表示出现最多的数的下标;
- 定义数组a储存输入的值,b储存数组中每个数出现的次数
- 输入("%d",&n);
- 将输入的数赋给数组for(i=0;i<n;i++),scanf("%d",&a [i]);
- 令数组b的前n个数的初值为-1
- for(i=0;i<n;i++)for(j=0;j<n;j++)
- 如果(a[i]==a[j])b[i]++;
- 寻找出现次数最多的数:for(i=0;i<n;i++)
- 如果 if(b[i]>count)
- count=b[i];最大值下标index=i;
- 输出:("%d %d",a[index],count);
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 在对表示出现次数的数组b赋初值时出现错误,开始将b中每个数的初值赋为-1,想的是a[i]和b[i],表示同一个值就不算了,调试后发现错误并改正
- 最小值出现错误,粗心导致的错误,习惯了将循环变量的初值赋为1,忘了在数组中第一个变量的下标是1
题目2:
1. 本题PTA提交列表
2. 设计思路(用代码表示扣分)
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
题目3:
1. 本题PTA提交列表
2. 设计思路(用代码表示扣分)
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
二、截图本周题目集的PTA最后排名。
三、同学代码结对互评
1.互评同学名称
2.我的代码、互评同学代码截图
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
四、本周学习总结
1.你学会了什么?
1.1 C中如何存储字符串?
-c 语言中用一维字符数组来储存:类型名 数组名[数组长度]
- eg.储存字符串happy:char s [6]={"happy"}或char s [6]={‘h‘,‘a‘,‘p‘,‘p‘,‘y‘}
1.2 字符串的结束标志是什么,为什么要结束标志?
- ‘\0‘是字符串的结束标志
- 因为字符串并没有显示地给出有效字符的个数,所以必须用结束符来决定是否结束循环
1.3 字符串输入有哪几种方法?
- 1.使用循环结构输入,用结束符来结束循环:scanf("%c", )语句
- 2.scanf("%s", )输入,但不能碰到空格
- 3.gets()直接吸收整个字符,遇‘\n’终止
1.4 数字字符怎么转整数,写个伪代码?
1.5 16进制、二进制字符串如何转10进制?写伪代码?
2.本周的内容,你还不会什么?
详细罗列不明白地方,包括课堂派错题、PTA错题。
3.期中考试小结
3.1 你认为为什么没考好?
- 1.平时只注重pta上的作业,只在乎那个结果是否正确,忽略了好多知识点
- 2.学习不认真,不扎实,很多概念和小知识自己根本没有掌握
- 3.阅读程序方面能力不足,平时欠缺对这方面的训练
- 4.自我差错能力不行,平时例如很小的标点符号错误都是通过devc发现的
3.2 罗列错题。
:选择第十八题
- 错因:没有弄清各个运算符的优先级,没有先转成二进制然后再转回八进制,没有注意到取反、异或、左移、&运算符操作后不改变原先变量的值
:先将057转化为二进制:00101111,再将其取反,再将00101111左移两位后与00101111进行&操作,再将操作结果和00101111的取反值进行异或操作,最后将其转换为八进制
:填空第三题:
- 错因:没有将字
改正:转换为字符即可
请在选择题、填空题、改错题、编程题分别举一题说明为什么错了,怎么改?
3.3 下半学期要怎么调整C的学习?
- 1.利用好预习的价值,未上课前好好看课本并完成课堂派上的习题,明白哪里是自己看不懂的地方,上课要更加注意听讲
- 2.做好笔记,事实证明只听老师上课讲一次下课后百分之九十九都忘记了,自己不懂得,重要的知识点要及时记录,课后温习
- 3.做好课后复习工作,上完一堂课,就该回过头来看一下这一堂课的课本内容以及自己记录的笔记
- 4.对待作业要认真, 错题要弄懂,不能只关注结果
5.pta上的题以后尽量手写代码,遇到问题不能总借助devc,先自己分析