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,用法掌握的不到位。
原文地址:https://www.cnblogs.com/guobaoqing/p/7797890.html