题目1:7-10 打印沙漏

1.PTA提交列表

2.设计思路

先将沙漏最中间的一行的固定的一颗星扣掉,再把所需用到的其他星星上下成对的减去,算出最后余下的星数。再把沙漏上下看成对称图形,上半部分每行依次减少两个星,而增加一个空格符,而且题目恰好第一行的星数恰好等于沙漏的总行数,每输入完当行的最后一颗星要换行,下半部分与上半部分相反,可利用绝对值来实现循环。

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明

 

 

一开始第一个for循环语句的小于号后多打了个等号,程序多循环了,导致沙漏形状不对。

 

题目2:7-29 打印九九乘法表

1.PTA提交列表

2.设计思路

本题较上题来说较为简单,只需要使用循环嵌套,将乘法表的行和列一起表示。

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明

 

刚开始不理解题目中的“其中等号右边数字占4位、左对齐。”。所以导致格式错误。

 

题目3:7-15梅森数

1.PTA提交列表

2.设计思路

本题需使用<math.h>来进行乘方,运用循环嵌套的和判断来筛选素数,使i=2为初值,不能为1,否则后面循环直接跳出,并在i循环用不断取余来判断,当j等于meisen时,那么这个数将不是素数,否则是。如果遇到素数那么则count加上1,如果大循环到最后,count仍然为0,则输出None,每输出一个数之后都要回车换行。

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明

 

画蛇添足地将if(meisen<=meisen_max)后面多添加了个减1使得一些临界条件的值取不到,(如:输入3的时候正确答案是3和7,而错误答案变为只有3)。

 

三、同学代码互评

1互评同学名称:

我的代码

互评同学代码

我的代码比较投机取巧,直接用教过的数学方法进行运算。

而世坤的代码则十分符合题目要求,并且使用了子函数进行运算。

我的代码简单,而世坤的代码更加有水平。

相比较而言我觉得世坤的代码更好。

 

最终排名:

 学习总结

1、学会了基本的函数。

2.使用continue和break.

continue:直结束当下的循环,进入下一次循环.

break:直接跳出当前循环

多重嵌套只对最近的的循环体有效

3.switch语句。

(1):一般形式为

(2)switch(表达式){

case 常量表达式1:语句段1;break;

case 常量表达式2:语句段2;break;

... ...

case 常量表达式n:语句段n;break;

default 语句段n+1;break;
}

4.循环嵌套(最重要):

用while进行循环:while(表达式)语句,当表达式为非0值时,执行while语句中的内嵌语句。特点是先判断表达式,后执行语句.

用for进行循环:如for(i=0;i<3;i++)i=0是初始化部分;i<3是循环判断条件部分(当满足此条件时才进入执行for循环中的语句);i++是执行完循环体语句后的操作。

我觉得要是知道 循环次数 可以 用for,
要是不知道循环的次数,但是知道循环的终止条件 , 则用while.

自我评价

对于一些基本的题目以及循环嵌套能有较为清晰的思路,但有时循环嵌套内的代码仍会有问题,对于较难题还是比较无能为力。

仍需研究的题目:7-8,7-9,7-38,7-39

 

posted on 2017-12-28 14:06  无尽空虚丶  阅读(141)  评论(0编辑  收藏  举报