C语言博客作业--嵌套循环
一、PTA实验作业。
题目1:7-3 编程打印空心字符菱形
1.本题PTA实验结果
2.设计思路
-
(1)定义四个整型变量height,i,j,x。定义符号变量letter
-
(2)输入一个字符型变量letter和一个整型变量height
-
(3)计算'x=(height+1)/2'.
-
(4)执行循环,i赋值为1,输出空格,i++,直到i>x-1,输出letter并换行。
-
(5)执行循环,i赋值为1,letter++,在其中嵌套循环j=1,输出空格,j++,直到j>x-i-1,退出内循环。输出letter;在主循环中嵌套循环j=1,输出空格,j++,直到'j>2*i-1',退出内循环,输出letter并换行,直到i>x-1时,退出主循环;
-
(6)执行循环,i赋值为1,letter--,在其中嵌套循环j=1,输出空格,j++,直到j>i,退出内循环。输出letter;在主循环中嵌套循环j=1,输出空格,j++,直到'j>2x-2i-3',退出内循环,输出letter并换行,直到i>x-2时,退出主循环;
-
(7)如果x不等于1,执行循环,i赋值为1,输出空格,i++,直到i>x-1,退出循环;输出letter--并换行。
3.本题调试过程碰到问题及解决办法
-
碰到的问题:
- ![](http://images2017.cnblogs.com/blog/1232112/201711/1232112-20171110172027934-2127429716.png)![](http://images2017.cnblogs.com/blog/1232112/201711/1232112-20171110172050122-42392554.png)![](http://images2017.cnblogs.com/blog/1232112/201711/1232112-20171110172533278-206016933.png)
当这样输出后,下半部分完全错误。而且当定义kong来记录空格的个数,正确的空格kong=1,而调试显示的是2.
- 解决办法:将下方的i与j的范围改变,如图所示
题目2:7-4 换硬币
1.本题PTA实验结果
2.设计思路
-
(1)定义整型变量并赋值fen5=0,fen2=0,fen1=0,total=0,count=0,fee
-
(2)输入fee值
-
(3)执行循环,fen5=fee/5,fen5--,直到fen5<1时,退出循环。
-
(4)在其中嵌套循环,fen2=fee/2,fen2--,直到fen2<1时,退出循环。
-
(5)在(4)中循环中嵌套循环fen1=fee,fen1--,直到fen1<1,退出循环。
-
(6)在(5)中,如果'fen55+fen22+fen1==fee',输出fen5,fen2,fen1,total,并且count++;
-
(7)输出count,并换行。
3.本题调试过程碰到问题及解决办法
-
碰到的问题:
- ![](http://images2017.cnblogs.com/blog/1232112/201711/1232112-20171110173235684-768077172.png)![](http://images2017.cnblogs.com/blog/1232112/201711/1232112-20171110173258106-238091844.png)应该是从大到小,但 输出的是从小到大。
题目上fen5=2,而图示为1。
- 解决办法:如图所示改变。
题目3:7-5 梅森数
1.本题PTA实验结果
2.设计思路
-
(1)定义整型变量并赋值n,i,j,mei=0,result,x=0,r
-
(2)输入n
-
(3)执行循环,i=2,‘result=pow(2,i)-1’,如果x==0,输出result,且mei++,重新赋值x=0。i++,直到i>n,退出循环。
-
(4)在其中嵌套循环,j=2,j++直到j>result-1,退出循环。
-
(5)在(4)循环中,‘r=result%j’,如果r==0,x=1,并推出该循环。
-
(6)如果mei==0,输出None。
3.本题调试过程碰到问题及解决办法
-
碰到的问题:
- 本应该输出3,它却直接跳过判断;
-![](http://images2017.cnblogs.com/blog/1232112/201711/1232112-20171110175818684-2138582175.png)当r!=0时会一直输出result,导致结论错误;
-
解决办法:将x!=0改为x==0,continue改为break,重新定义一个变量来表示当变量某一值成立时再输出result;
二、同学代码结对互评(2分)
1.互评同学名称。
-
7-3:陆勇治
-
7-4:崔志彬
-
7-5:陆勇治
2.我的代码、互评同学代码截图。
-
7-3:
-
他的;
-
我的。
-
-
7-4:
- 他的;
- 我的;
-
7-5:
-
他的;
-
我的;
-
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
-
7-3:
-
不同:变量赋值不同。
-
优势:他有代码缩进。我的看着比较舒服。
-
我更喜欢:他的。
-
-
7-4:
-
不同:变量赋值不同,他有注释。
-
优势:他的比较容易理解解读;我的变量赋值比较容易辨认。
-
我更喜欢:他的
-
-
7-5:
-
不同:变量赋值不同
-
优势:他的更容易理解。
-
我更喜欢:他的
-
三、截图本周题目集的PTA提交列表及最后排名。
1.PTA提交列表
2.PTA排名
四、本周学习总结
1.你学会了什么?
嵌套循环可以较快解决一些类似于找素数并将他们直接输出。了解到函数的基本用法,和有关auto,和static定义变量的规则,还知道了,局部变量和全局变量的意义和优先级别。
2.本周的内容,你还不会什么?
函数的使用。比如用了函数,但感觉比不用函数麻烦了很多。尤其是自定义了两三个这样的函数,通常写的代码也有30几行,感觉十分不简便,而且不会将他们简便化。还有同学说自定义的函数可以结合起来用,但我不会。