C语言博客作业--嵌套循环
7-3 编程打印空心字符菱形
1. 本题PTA提交列表
2. 设计思路
-
定义变量a,m,n,i,k,j,op; //m为行数
-
输入op,n
-
将op转换a;
-
i=1
-
如果i<=m则进下一步
-
op=a;a++; //解决B,C,D的问题
-
k=0,如果k<m-i //将菱形上半部分解决
-
输出空格
-
k++
-
上面循环结束,输出op
-
如果i=1;换行,并且下面程序不在进行
-
j=0;
-
如果j<2*i-3
-
输出空格直到j++不满足条件执行下一步
-
输出op并且换行
-
i=m-1如果i>0 进行下面的循环,直到i-->0 //将菱形下半部分解决
-
op=a;a--;
-
k=0,k<m-i ,输出空格直到k++b不满足条件
-
输出op
-
如果i=1;换行,并且下面程序不在进行
-
j=0;j<2*i-3;j输出空格直到j++不满足条件执行下一步
-
输出op
-
换行
3.本题调试过程碰到问题及解决办法
正常我想要在下半部分刚开始输出C,结果却是D,所以10进制转换字母那部分有错误
7-6 猜算式?2*7?=3848中的数字
1. 本题PTA提交列表
2. 设计思路
- 定义变量A,B,c
- A=1;A<=9;进行下面的循环,直到A++>9
- B=1;B<=9;进行下面的循环,直到B++>9
- c=(10A+2)(70+B);
- 如果c=3848则输出结果
3.本题调试过程碰到问题及解决办法
本题遇到的问题是按照这个题目要求列式子A2*B7=C!,没想到题目这个式子是错误的
通过调试发现于答案不符合,在认真看一下代码有没有错误,发现代码没有错误,在回头看一下题目,发现题目的式子有问题
7-7 歌唱比赛评分系统
1. 本题PTA提交列表
2. 设计思路
- 定义变量grade,sum,min,max,n,i,i1,repeat,score;
- 输出repeat的值
- i=1;i<=repeat;进行下面的循环,直到i++>0
- max=0;min=100;输入n的值
- i1=1,i1<=n;进行下面的循环,直到i1++>n
- 输入成绩
- 统计成绩的和
- 比较成绩大小(用if语句判断)
*跳出循环会执行sum=sum-min-max - score=sum/(n-2)
- 输出结果
3.本题调试过程碰到问题及解决办法
本题解决办法是通过在纸上演绎程序运行过程,发现输入n的值应该划入for语句中,才可以重复输出n
二、同学代码结对互评
7-3 编程打印空心字符菱形 这是我的代码
志坚的代码
他的代码跟我的思路差不多,他的代码是把一些特殊情况考虑后直接写出来,我就是把这些情况直接写在一般情况下
所以看起来我的代码比较短,他的比较长。但是他的代码阅读起来难度较低了,我的代码量比较小,更适应程序。
7-4 换硬币 我的代码
志坚的代码
一比较发现我定义的变量没有做到见名之意,下回会注意的,但是他的代码for(fen1=100;fen1>=1;fen1--),让
电脑考虑的情况更多,更复杂了。’
三、截图本周题目集的PTA最后排名。
四、本周学习总结
1.你学会了什么?
- 我学会了在设计9*9的时候怎么对齐,熟练的掌握for语句的循环结构和嵌套循环,也能熟练的利用调试工具进行调试
,学会了如何重复输入数据。
2.本周的内容,你还不会什么?
- 经过一个星期的学习,我发现我对10进制转换成字母还不是很熟悉,对于多种嵌套循环相结合的题目还不是很熟练,
就类似空心菱形这种题目还不是和熟悉,对于continue,break,用法掌握的不到位。