循环,数组,函数
一、循环
1、题目一 7-1 求交错序列前N项和
通过调用while语句,实行求和的循环。当定义的整数i(即最终循环次数)不满足条件时,跳出循环,输出最终所求值。
2.题目二7-12 约分最简分式
设置分子和分母;通过调用while语句,利用辗转相除法分别约分分子分母。当定义的分母不等于0不满足条件时,跳出循环,输出最终所求值。
本题调试过程碰到问题
第一次提交时错把变量全部定义成浮点型;
第二次在pta上直接修改少了分号;
第三次把fm=c写成fz=c;
题目3、7-6素数统计并求和
通过两层循环,定义M,N,i,sum=0,count=0.输入M,N。令n=M,套用双层循环并使i=2为初值并在i循环用n%i判断,
当等于0的时候跳出i循环。跳出或者循环结束后判断i是否等于n,等于则count++,sum=sum+n。
然后等到M循环结束,输出count就为素数的个数,以及sum为它们的和。
本题调试过程碰到问题
前两次提交时没注意M=1是的情况
后来在前面加了M==1是赋值为2
同学互评:
黄世坤的7-6
我们的代码思路基本相同
我的代码中在循环之前将M赋予n;
使得代码看起来更加清晰,而他的
代码用count代替j是一个不错的想法。
本周学习总结
1.学会用while,for语句实现循环。两者都是特点是先判断表达式,后执行语句
两者的不同点在于书写格式不同。
2.学会用do...while语句实现循环do...while语句的特点是先执行循环体,然后判断循环条件是否成立。
3.学会了利用循环嵌套来编译函数。
还需解决的题目
7-7,7-8
截图本周日集的pta排名
二、数组
题目一、7-2 求最大值及其下标
定义数组,利用循环输入数组,定义下标为index=0,利用第二次循环,
求出数组中最大数及其下标
本题调试时无太大问题,注意输出格式即可
题目二、7-6冒泡排序法
本题定义数组,并利用循环结构比较数组中数的大小,前大于后则互换,实现冒泡排序。
本题调试过程碰到问题
第一次提交是错把if(a[i]>a[i+1])写成了if(a[i+1]>=a[i])导致全部错误
同时,没有注意输出格式。
之后几次提交注意到了格式并把代码改成了if(a[i]>=a[i+1])部分正确
最后成功改出所有错误。
题目三、7-14 简化的插入排序
本题要求在一串数中插入一个并按顺序排列,
先定义一个数组并赋值然后再给出要插入的那
个数,把这个先放在数组最后从后往前比较大
小并排序。
本题调试过程碰到问题
前两次提交是没有注意输出格式,导致答案出错
同学互评:
王丹的7-14
她的代码有完整的注释,是我应该学习的地方,
我的代码是先将要插入的数加入数组再排序,而
她的是直接找需要的位置插入,我认为我的思路
使得代码更简洁。
本周学习总结
1、学会了如何定义数组,并操作数组数据进行简单
问题的解决
2、学会运用字符数组,并掌握string.h头文件下函数
的运用。
3、学会使用二维数组解决矩阵问题。
不足之处
解题时,思路不够清晰,解题较慢
还需研究的题目
7-7,7-9,7-16
截图本周日集的pta排名
三、函数
题目一、7-3 求幂之和
本题要求编写程序,计算sum=21+22+23+⋯+2n,
调用pow函数计算幂,利用循环结构求和。
本题调试过程碰到问题
第一次提交是没有在Dev上先运行漏了分号
第二次在Dev运行后提交就正确了。
题目二、7-6 圆形体体积计算器
本题要求计算球体体积 圆柱体体积 圆锥体体积 ,
定义一个sel,1,2,3分别代表球、圆柱、圆锥,
不为这三个数则跳出循环,为一二三时分别调用计
算的函数。
本题调试过程碰到问题
第一次提交时没有注意\n的格式,出现错误,后来改正。
题目三、7-1求组合数
本题调试过程碰到问题
第一次调试时没有使用子函数来解题
第二次运用了子函数。
同学互评
谢晔晖同学的7-4
我的7-4
他的代码比较凌乱,且没有完全正确;
而我的代码比较清晰;
本周学习总结
1、学会了运用子函数解决问题。
2、学会了多从子函数的调用
3、明白了不同类型子函数的不同之处
不足之处
1、子函数调用不熟练
2、复杂的递归调用不是很明白
还需解决的问题
7-2、7-9