一、PTA实验作业
题目1:小于m的最大的10个素数
1. 本题PTA提交列表:
2. 设计思路:
定义变量 m,i,count=0;输入m.
用while(count<10)作为循环条件,内部语句来判断m是否是素数
输出时printf("%6d",m);
流程图:
3.本题调试过程碰到问题及PTA提交列表情况说明
本题提交错误原因皆为输出时的格式错误,当时尝试了好几种输出格式都不对,
后来百度了c语言输出格式,才知道这里的输出格式应该是%6d。
题目2:求简单交错序列前N项和
1. 本题PTA提交列表:
2. 设计思路:
定义变量n(输入值),flag=1(用于改变符号),d=1(用于分母累加),i(循环条件变量),sum(计算总和)
令i=1,当i<=n时;进入循环内部:sum=flag*1.0/d+sum,flag=-flag,d=d+2,i++,跳出循环时输出sum。
流程图:
3.本题调试过程碰到问题及PTA提交列表情况说明
本题提交两次错误原因都是因为sum的计算求和公式错误,
错写为sum=flag*i*1.0/d+sum;这样分子每次都会加1,而实际上分子是不变的。
所以应该改为sum=flag*1.0/d+sum。
题目3:大笨钟
1. 本题PTA提交列表:
2. 设计思路:
定义变量hh,mm,i,输入hh,mm。
当hh为00-11点或hh为12,mm为00时,钟不敲。
超过12点,几点就敲几下,利用循环结构实现,不为整点的再敲一下。
流程图:
3.本题调试过程碰到问题及PTA提交列表情况说明
12点边界不敲:第七行条件应该是:hh<12&&mm<=59||hh==12&&mm==0
这边少了12点整点的判断,其他错误都是因为输出格式错误,%d应改为%02d。
%02d表示输出的数字占两个位,如果数字只有一位就在数字前面补零。
二、同学代码结对互评
我的代码:
互评同学代码:
我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
我的代码再另设一个变量m存储原来的a值,因为a值经过运算会改变,但原来的a值每次计算总和都需要加上去。
吴凡同学的代码保留原来的a值,设变量x,来进行计算。我更喜欢吴凡同学的代码,因为这样不容易混乱,
a的值永远是输入的那个值。
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.你学会了什么?
1.1while循环
while(表达式)
循环体语句;
循环体内部有多条语句时,要加上大括号 。
1.2do-while循环
do{
循环体语句
}while(表达式);
1.3for循环
for(初始化表达式; 循环变量判定表达式; 循环变量修正表达式)
{
循环体语句
}
1.4利用循环结构和分支结构判断一个数是否是素数
1.5 break语句和continue语句
break语句:1.中止循环
2.结束switch语句
continue语句:跳过循环体中continue后面的语句,继续下一次循环。
1.6利用循环嵌套解决问题
求最值问题,求阶乘,逆序,斐波那契数列,穷举算法,解决简单的逻辑问题。
2.本周的内容,你还不会什么?
嵌套循环的运用还不够熟练,对于复杂一些的题目无法下手,
比如打印沙漏那题,要想很长时间才能找到循环的条件。
导致一道题花了大量时间。
3.循环结构考试总结
对于一些基本概念和计算机导论方面的知识理解不够透彻,
之后要多看书,补一下关于这方面的知识。
题意的理解也不够到位,还有就是考试时不够细心。
然后编程题考虑得不够全面,只解决了部分问题。