• C语言I博客作业10


    这个作业属于哪个课程 C语言程序设计
    这个作业要求在哪里 C语言I作业10:第十四周作业
    我在这个课程的目标是 学会使用C语言
    这个作业在哪个具体方面帮助我实现目标 很难的pta可以锻炼我的解题能力
    参考文献 C语言程序设计(第三版);百度

    1.PTA实验作业

    1.1 编程打印空心字符菱形

    本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
    输入格式:

    输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。
    

    输出格式:

    输出空心字符菱形。
    

    输入样例:

    B 5
    

    输出样例:

    1.1.1数据处理

    数据表达:定义了五个整型变量和一个字符型变量,其中i、j是控制循环变量,high是指菱形的高度,half是指一半菱形的高度。
    数据结构:
    结构式:一共用了六个for循环和两个if语句,其中分为两个for循环里分别嵌套两个for循环和一个if语句。

    伪代码:

     开始 ;
    
       定义变量:控制循环变量i、j,菱形的高度high,半个菱形的高度half,字符型op;
       接收字符和菱形的高度;
       把(high+1)/2赋值→half;
       for循环{
       for循环输出空格;
       输出字符
       判断i==0
       yes→op++;
       for循环输出空格;
       输出字符;
       输出换行;
       }
       字符减2;
       for循环{
       循环输出空格;
       a++;
       输出字符;
       for循环输出空格;
       判断i==1;
       yes→输出换行;
       跳出;
       输出字符;
       }
       结束 ;
    

    1.1.2实验代码截图


    1.1.3 造测试数据

    输入数据 输出数据 说明
    B 5 高度为5从字母B开始的菱形
    a 5 高度为5从字母a开始的菱形
    Q 6 高度为6从字母Q开始的菱形

    1.1.4 PTA提交列表及说明

    提交列表说明:
    在Devc++上反复运行检查更改,因此在pta上无错误。

    1.2 输出三角形字符阵列

    本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
    输入格式:

     输入在一行中给出一个正整数n(1≤n<7)。
    

    输出格式:

      输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
    

    输入样例:

      4
    

    输出样例:

      A B C D 
    
       E F G 
       H I 
        J 
    

    1.2.1数据处理

    数据表达:定义了三个整型变量和一个字符变量且给它赋初始值为'A';j、i代表控制循环变量;N代表输入的正整数。
    数据结构:
    结构式:在if语句内使用一个for循环语句的嵌套。

    伪代码:

    开始 ;
    
      定义变量;
      输入N;
      判断N的取值范围;
      for循环输出第一行{
      接着for循环输出下一行
      }
      输出空格;
      使N-1;
      结束 ;
    

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据
    4
    3
    2

    1.2.4 PTA提交列表及说明

    提交列表说明:
    格式错误:输出的字符后面没有空格。

    1.3 同构数

    一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
    输入格式:

     一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
    

    输出格式:

    1     5     6    25    76   376   625
    

    1.3.1数据处理

    数据表达:定义了两个整型变量,b代表一个数,a是控制循环变量同时是b的因子,若满足同构数的条件则使用printf函数输出。
    数据结构:
    结构式:使用了for循环和省略else的if语句的嵌套。

    伪代码:

    开始;
    
      定义变量;
      for循环(输入数);
      给b赋值→b=a*a;
      判断是否为同构数;
      输出六位;
      结束;
    

    1.3.2实验代码截图

    1.1.4 PTA提交列表及说明

    提交列表说明:
    ①刚开始,没有搞清楚a和b的之间潜在的关系,导致for循环的三个表达式和循环体里的数据乱套。
    ②该题的输出结果不需要左对齐

    2.代码互评

    同学代码截图

    自己代码截图

    代码比较

    从整体上看,该同学的代码和我的有很大的不同,首先他没有控制N的取值范围,只用了一个for循环,而我使用的是for循环的嵌套
    从内容上看,我们的代码使用的不同方法,但目的都相同,但是我的比较简单清晰。

    同学代码截图

    自己代码截图

    代码比较

    从整体结构上看,我们之间的差异不大,但从细节上看,还是有很多的不同。充分体现了一个题目有很多种路径能走到终点。

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 博客字数 学到的知识点简介 目前比较迷惑的问题
    8周/10/14-20 5h 100行 918字 for循环结构 不能够熟练for语句
    9周/10/20-27 7h 120行 1194字 自定义函数 对定义和调用函数知识点上还是很模糊
    10周/10/28-3 8h 380行 1290字 char字符型 有些代码所用的格式
    11周/11/4-10 8h 150行 1309字 switch语句 怎么寻找到解题的正确思路
    12周/11/11-17 6h 160行 1100字 do-while语句和其他循环语句 怎么综合运用已学内容
    13周/11/18-24 16h 260行 2453字 break、continue的用法以及它们之间的关系 使用很多个for循环和if语句时容易混乱
    14周/11/25-01 8h 240行 1831字 用for循环解题的思路 不会用自定义函数

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    马上就要考试了,表示超级超级方,自己能够不靠百度不靠求助助教独立写出来的题很少很少很少很少。所以最近也是重点锻炼自己完全独立写出编程题的能力。至于选择填空题,也是需要大量练习,书上习题有很多。不知不觉,大一上学期马上收尾,目前已经接触到软件工程近三个月,可以说是从一无所知进阶到入门小白。曾经一度骂过自己怎么脑抽非要选择软件,也有过为自己迎难而上而感到自豪。开弓莫得回头箭,我不追求能把这门课学的多么厉害,但最起码不要辜负自己。目标的实现建立在我想成功的强烈愿望上。现在还有很多问题需要去解决,比如三个循环语句的灵活变通、switch语句和自定义函数的使用。还有一个问题,在调试的时候,断点一般应该选择在哪里呢?

  • 相关阅读:
    Netty 源码解析(八): 回到 Channel 的 register 操作
    Netty 源码解析(七): NioEventLoop 工作流程
    SVM入门
    Understanding Neural Networks Through Deep Visualization
    如何直观的解释back propagation算法?
    caffe层解读系列-softmax_loss
    深度学习与计算机视觉系列(10)_细说卷积神经网络
    Ubuntu 14.04 Nvidia显卡驱动手动安装及设置
    贾扬清分享_深度学习框架caffe
    caffe卷积输入通道如何到输出通道
  • 原文地址:https://www.cnblogs.com/coolyingying/p/11939335.html
Copyright © 2020-2023  润新知