函数-循环-数组
函数
一、PTA实验作业
题目1:7-37 求n以内最大的k个素数以及它们的和
1. 本题PTA提交列表
2. 设计思路
输入n与x,依次判断n,n-1,n-2...是否为素数,若是,统计素数个数并保存该素数,将所判断出的前x个素数累计相加,最后输出等式。
3.本题调试过程碰到问题及PTA提交列表情况说明
循环使用错误,从第13行开始到20行的循环出现错误,每一次进入循环的j的值都是同一个,没有改变。导致了输出结果产生错误。
4.代码截图
题目2:7-40 多项式求和
1. 本题PTA提交列表
2. 设计思路
计算前n项和s,先定义i=1,s=0,使用循环判断i<=n?,若是,判断i%2==0?,若成立,则i=-i,接着计算s=s+1.0/i,令i++,最后i>n时输出s的值。
3.本题调试过程碰到问题及PTA提交列表情况说明
出错的原因是看错题目,题目要求的是s=1-1/2+1/3-1/4..,我求的是s=1-2+3-4...改成倒数就正确了。
4.代码截图
题目3:7-41 判断数字字符
1. 本题PTA提交列表
2. 设计思路
在主函数中输入一个字符,把它放到子函数中判断这个字符是否为‘0’到‘9’之间的字符,若是,返回1;若不是,返回0。若主函数中返回值为1,输出yes,若不是,输出no。
3.本题调试过程碰到问题及PTA提交列表情况说明
本题比较简单,没有出现错误。
4.代码截图
二、同学代码结对互评
1.互评同学名字
雷慧
2.我的代码,同学的代码截图
7-39 出生年
雷慧的代码:
我的代码:
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
(1)雷慧的代码用了数组,直接统计年份中每个数字出现的次数。我是将每个数字相比来依次判断有几个数字不同的条件的。
(2)雷慧的代码明显比较简洁易懂。我的代码太过复杂。
(3)我更喜欢雷慧的代码,思路更加清晰。
三、截图本周题目集的PTA最后排名。
四、本周学习总结
1.你学会了什么?
(1)学会了使用子函数,使代码的结构更加完整,思路更清晰。
(2)知道了怎么区分全局变量和局部变量。
(3)学会区分i++与++i。
2.本周的内容,你还不会什么?
(1)对于逻辑运算符的优先级别还不是很清楚,需要加深印象。
(2)静态变量与动态变量总是搞混。
3.函数考试总结
(1).哪题做错了,怎么改?
7-39出生年那题做错了,最好改为用数组判断年份中不同数字个数,直接拆分容易出错。
(2).考试结果满意么,怎么改进?
还算满意,需要注意的是写代码前要先看清题目,理清题目意思再写可以节省很多调试时间。
循环
一、PTA实验作业
题目1:7-1 求交错序列前N项和
1. 本题PTA提交列表
2. 设计思路
计算前n项和,从第一项起分子依次为1、-2、3、-4...分母依次为1、3、5、....,将n个数相加。
3.本题调试过程碰到问题及PTA提交列表情况说明
本题较简单,没有出现问题。
4.代码截图
题目2:7-5 找出最小值
1. 本题PTA提交列表
2. 设计思路
输入n和a,定义输入的第一个a的值为最小值min,再依次输入n-1个a,每次都拿输进的a与min值比较,若a值小于min值,将新的a赋给min。结束循环后输出min。
3.本题调试过程碰到问题及PTA提交列表情况说明
4.代码截图
题目3:7-4 统计学生成绩
1. 本题PTA提交列表
2. 设计思路
先输入n,再输入n个学生的成绩,判断学生成绩属于哪个区间并将相应区间的计数值加一。最后输出每个区间的学生人数。
3.本题调试过程碰到问题及PTA提交列表情况说明
错误的原因是g的取值区间取错,应该将第8行处g>90改为g>=90.
4.代码截图
二、同学代码结对互评
1.互评同学名字
罗艺芳
2.我的代码,同学的代码截图
7-13 单词长度
我的代码:
罗艺芳的代码:
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
(1)同学的代码使用循环while(1),我使用的循环是while(op!='.')。
(2)同学的这种做法只需在循环中设定特定条件让其break跳出即可,我的代码需要考虑更多种情况。
(3)我更喜欢同学的代码,她的代码需要考虑的条件少,比较不会出错。
三、截图本周题目集的PTA最后排名。
四、本周学习总结
1.你学会了什么?
(1)了解了while,do-while,for等一系列循环体。
(2)学会了循环嵌套。
2.本周的内容,你还不会什么?
一些较难的题还是不会做,如阅览室、水仙花数。
3.循环考试总结
(1).哪题做错了,怎么改?
7-33 起初做错了并一直找不到错误点,后来发现只需改正大小写就正确了。
(2).考试结果满意么,怎么改进?
不太满意。还需细心一点,逻辑思维需要强化。
数组
一、PTA实验作业
题目1:7-2 求最大值及其下标
1. 本题PTA提交列表
2. 设计思路
使用数组循环输入n个数,先假设第一个数为最大值,再依次拿后面的数与最大值进行比较,若数更大,则交换最大值与该数的值以及对应的下标。
3.本题调试过程碰到问题及PTA提交列表情况说明
4.代码截图
题目2:7-11 求一批整数中出现最多的个位数字
1. 本题PTA提交列表
2. 设计思路
使用数组a[n]循环输入n个数,依次将这n个数的每一位数拆分出来赋给x,新定义数组b[10],取初始值都为0,依次b[x]++,然后找出b[0]~b[9]的值中最大的数即为出现次数最多的个位数字,并将对应值的下标按从小到大的顺序排列输出。
3.本题调试过程碰到问题及PTA提交列表情况说明
出现错误的原因是最大n的取值太小,将定义a[100]改为a[1000]就可调试成功。
4.代码截图
题目3:7-30 A-B
1. 本题PTA提交列表
2. 设计思路
输入字符串a,b,取出a中每一个字符,依次与b中每一个字符比较,若没有相同,则输出a中这个字符,否则不输出。
3.本题调试过程碰到问题及PTA提交列表情况说明
错误的原因是用scanf输入字符串,这种做法需要区分清楚输入换行时的回车符号以及空格,容易出错。
4.代码截图
二、同学代码结对互评
1.互评同学名字
罗艺芳
2.我的代码,同学的代码截图
7-14简化的插入排序
我的代码:
罗艺芳的代码:
罗艺芳
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
(1)我是将要插入的值放在数组最后一个再依次与前面值的相比较然后插入,同学的是将插入的值从数组第一个值开始比较。
(2)同学的代码定义了全局变量,子函数中可以不调用数组。我的代码更加简洁。
(3)我更喜欢自己的代码,因为更简洁易懂。
三、截图本周题目集的PTA最后排名。
四、本周学习总结
1.你学会了什么?
(1)学会了用数组循环输入多个数。
(2)懂得用二维数组来进行矩阵运算。
2.本周的内容,你还不会什么?
(1)对涉及字符串的题目不够熟练。
(2)一些类型的定义总是出错,需要注意。
3.数组考试总结
7-25题做法太过复杂,没有更简明的思路。
4.其他总结
写程序时要注意定义数组a[n](n为整数)时n的取值不要太小。