一、PTA实验作业
题目1:求整数序列中出现次数最多的数
1.本题PTA提交列表
2.设计思路
定义一个整型数组a【1001】,i,j 为循环变量,N,定义数组b【1001】={0}
输入N
for(i =0;i<N;i++) 用数组存放整数序列
输入a【i】
for( i =0;i <N;i++)
for(j =0;j <N;j++){
如果(a【i】==a【j】) 判断每个整数出现的次数 并保存在数组b中
b【i】++; }
定义整型变量Max=0
for,(i =0;i<N;i++)
如果 Max<b【i】{
把b【i】放入Max中
j=i
}
输出 a【j】,Max
3.代码截图
4.本题调试过程碰到问题
开始b数组的大小定义得太小,导致无法完全比较并统计整数数列中数字出现的次数。
题目2:简化的插入排序
1.本题PTA提交列表
2.设计思路
定义整型变量N表示输入的整数个数,num表示需要插入的数字,i循环变量 数组a=【11】={0}
输入N
for (i = 0; i <N; i++)
输入 数据存入a【i】中
输入num
如果num<=a[0]
输出num和数组a
如果num大于a【0】{
for (i = 0; i <N; i++) {
输出a【i】
如果a【i】<num<a【i+1】
输出num
如果i==N-1并且a【i】<num
输出num
}}
如果N==0 输出num
3.代码截图
4.本题调试过程碰到问题
有个测试点是N==0时,当时一直想不明白,很懵逼,感觉题目很无语。
题目3:数组循环左移
1.本题PTA提交列表
2.设计思路
int 数组a【101】,循环变量i ,n数组里的数字个数 ,m左移位数
输入 n,m
m =m%n 当m大于n时需要左移的位数
for (i = 0; i <n; i++)
输入数组a【i】
如果m==0{
for(i = 0; i <n; i++)
输出数组a【i】(注意题目需要的输出格式)
}
否则{
for (i = m; i < n; i++)
输出a【i】
for (i = 0; i < m ; i++)
输出a【i】(注意格式)
}
3.代码截图
二、截图本周题目集的PTA最后排名
三、同学代码结对互评
四、本周学习总结
1.你学会了什么?
1.c中使用字符数组来存储字符串
2.\0,如果没有结束标志,函数无法准确判断字符串在哪结束
3.三种
- 1.for循环输入
- 2.scanf(“%s”,& )遇到空格或回车停止
- 3.gets() 遇到回车停止
4.输入数字字符c
定义整型变量N
N =c-‘0’
5.十六进制转十进制
定义整型变量i为循环变量,m为十六进制数的字符串长度,num=0保存十进制数,n;
m=str(s);//十六进制是按字符串传进来的,所以要获得他的长度
for(i=0;i
2.本周的内容,你还不会什么?
本周通信原理考试,没有花太多时间在c语言上面,导致数组这章的题目处理上自己很无力。PTA上面的题目自己很难只靠自己去解决。
3.期中考试小结
3.1 为什么没考好
程序阅读能力比较薄弱,选择题错误率达百分之五十(没注意到细节的地方),说明了自己基础不牢靠,编程题自己没有得满分,说明了代码编程上面还有很大的不足,自己会做,但是却没做到完美。
3.2 罗列错题
选择题第九题 或与非的运算 (需要牢记它们的优先级)
填空题第四题 自己阅读能力的薄弱和找规律的能力较差(需要多练习)
改错题第二题 这题需要自己知道如果去设计步骤 自己短时间内没有看懂它的设计思路(多看别人的设计思路和解题技巧)
编程题都有得分却都没得满分 需要有个清醒的头脑和牢靠的基础c语言知识
3.3下半学期要怎么调整c的学习
c语言是编程的基础,也是其他计算机语言的入门,自己要牢记c语言的基础知识,或许在有的编程题目上自己不会,但是也要在不断的学习过程中,慢慢培养自己的阅读和解题能力,把这门基础知识课程掌握好。在下半学期,我们将会学到更加难的章节,自己不能变得懒惰,要经常勉励自己,不要因为偶尔的失利就让自己放弃。加油!