zoukankan      html  css  js  c++  java
  • C语言I作业10

    一.本周作业头

    这个作业属与那个课程 C语言程序设计I
    这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097
    我在这个课程课程目标是 学会简单自我编译基础代码,入门C语言。
    这个作业在那个具体方面帮我实现目标 综合介绍循环结构的程序设计,涉及到多个典型算法。要求学生能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。
    参考文献 《中国大学MOOC》 《百度》《思维导图》 #一.本周作业
      1. PTA实验作业
      1. 代码互评
      1. 学习总结

    1.PTA实验作业

    1.1 题目名:
    ```输出三角形字符阵列 ```
    
    
    

    内容描述:
    输出n行由大写字母A开始构成的三角形字符阵列,
    输入格式:
    输入在一行中给出一个正整数n(1≤n<7)。

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

    1.1.1数据处理

    • 1.数据表达:用了变量 i,j,n;
      分别代表行数和循环累加,属于整型变量。
      用 char op='A'变量代表字符的输入,属于字符型变量。
    • 2.数据处理:
      数据用到的表达式:赋值 如把 算术运算符利用累加和除法,关系运算符比较
      流程结构用for语句。
    ### 1.1.2实验代码截图![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129021504745-716696375.png)
    
    ### 1.1.3 造测试数据
    |                |                    |                |
    |-------------------|--------------------|-----------|
    输入数据|输出数据|说明|
    5|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129131924709-1962018469.png)|输出5行由字母A开始构成的三角字符|
    6|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129132808657-1926473079.png)|输出6行由字母A开始构成的三角字符|
    4|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129132841201-1359872038.png)|输出4行由字母A开始构成的三角字符|
    3|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129132928412-1484464796.png)|输出3行由字母A开始构成的三角字符|
    
    
    ### 1.1.4 PTA提交列表及说明
    PTA提交列表
    ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129020928997-1056944759.png)
    
    

    提交列表说明:

    • 1.编译错误:在return后面加了一个等号,习惯检查自己的格式,看到后及时改正,去掉等号;
    • 2.格式错误:忘记输入scanf("%d",&n);导致运行中出现问题,低级错误,晚上打代码不行,要在白天清醒的时候;在dev-c++上运行出现了错误提示,自己讨教学长的问题后解决。

    1.2 题目2

    内容描述:
     梅森数 
    

    形如2
    ​n
    ​​ −1的素数称为梅森数(Mersenne Number)。例如2
    ​2
    ​​ −1=3、2
    ​3
    ​​ −1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2
    ​31
    ​​ −1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。

    本题要求编写程序,对任一正整数n(n<20),输出所有不超过2
    ​n
    ​​ −1的梅森数。

    输入格式:
    输入在一行中给出正整数n(n<20)。

    输出格式:
    按从小到大的顺序输出所有不超过2
    ​n
    ​​ −1的梅森数,每行一个。如果完全没有,则输出“None”。

    1.2.1 数据处理 :

    • 1.数据表达:用了变量j,n,i,代表整数,用于循环,属于整型变量。
      用变量num,代表累加和变量定义,属于整型变量。
    • 2.数据处理:
      数据用到的表达式:赋值 如把i=2; 算术运算符利用累加和除法,关系运算符比较 i <= n;
      流程结构 ;用循环结构for语句,break语句使用,if-else语句;顺序结构。
    #### 1.2.2 实验代码截图
    ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129021344499-598461520.png)
    
    ### 1.2.3 造测试数据
    |                                    |                            |
    |--------------------------------------|---------------------|----------------------|
    输入数据|输出数据|说明|
    9|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129134803458-2146410067.png)|按从小到大的顺序输出4个梅森数|
    6|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129135601347-1167359701.png)|按从小到大的顺序输出3个梅森数|
    8|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140232612-1313884223.jpg)|按从小到大的顺序输出4个梅森数|
    7|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140241321-833332468.jpg)|按从小到大的顺序输出4个梅森数|
    5|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129135329789-1152207451.png)|按从小到大的顺序输出3个梅森数|
    56|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140249545-528539013.jpg)|按从小到大的顺序输出8个梅森数|
    99|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140101885-1108880717.png)|按从小到大的顺序输出8个梅森数|
    
    ### 1.2.4 PTA提交列表及说明
    ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129124734904-349016047.png)
    
    
    • 1.答案正确:前提是开始在dev-c++上运行出现了很多次,最开始出现7个错误,一个一个的找。#include<math.h>就这一个改了3次才成功,最开始漏了打,后来还出现include少了后面的e,彻底记住这个教训了。还有printf("%d ",num);少了分号;
    
    ###  2.代码互评
    找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
    第一位同学:梅深数
    * <1>同学代码截图
    ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129143857381-1928116798.png)
    
    * <1.1>自己代码截图![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129142057216-2126739828.png)
    
    
    

    对比小结:

    • 1.都用了int <math.h>,运用了数学文件,不过我用的是开平方跟,她用除于2,对半分,各有各的优势。
    • 2.我们用的变量不同,我的用了break语句,而她直接用赋值b=1来判断if成立条件。
    • 3.他的排版比我的简洁,应该像他多学习。
    第二位同学:三角形字符
    * <1>.同学代码截图* ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129143913288-544756388.jpg)
    
    <2>.自己代码截图![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129142006794-1123302883.png)
    
    

    对比小结:

    • 1.她的用了get char(),输入一个字符;我们定义变量不同
    • 2.都用两个for语句循环搞定了,不过我不能理解她最后还用m--是什莫意思;
    • 3.我觉的我的格式比她规范一点;
    ##3.学习总结(15分)
    ###3.1 学习进度条
    周/日期|这周所花的时间|代码行|学到的知识点|简介目前比较迷惑的问题|
    |-------------------|--------------------|-----------|----------|---------|
    |第一周10.01-10.07|26小时|65行|温度转换|为什么要自己去安装MinCW-w64|
    |第二周10.09-10.12|22小时|66行|进行了摄氏温度和华氏温度的转换。注意:F=C×9/5+32,温度值取浮点数类型  |有关于温度转换公式|
    |第三周10.14-10.17|20小时|85行|循环结构for,%的部分含义,sum的意义                                |item的具体使用方面,相关含义|
    |第四周10.23-10.26|14小时|55行|编写函数,懂得分号的含义,怎样用for语句                            |素数的判断该如何更简单编写程序|
    |第五周10.30-11.02|22小时|75行|熟悉多分支结构、字符型数据类型                                    |逻辑运算符利用,算数优先级从那边开始运算|
    |第六周10.30-11.02|22小时|75行|熟悉多分支结构、字符型数据类型|逻辑运算符利用,算数优先级从那边开始运算|
    |第七周11.05-11.07|04小时|35行|分支结构 熟悉多分支结构switch语句的使用                           |for语句的插入和分支的陷入|
    |第八周11.10-11.15|06小时|65行|for语句确定循环次数,while明确循环终止条件,do-while语句是必须要执行一次|二进制与十进制转换|
    |第九周11.18-11.21|10小时|98行|continue表示结束本次循环,而不终止整个循环的执行。而是结束本次循环,进行下一次循环|没有看懂for语句使用|
    |第十周11.26-11.29|8小时| 118行|复习循环嵌套语句,综合介绍循环结构的程序设计,同学讲解代码有关于换算问题,for语句的使用|硬币的换算|
    
    
    
    ## 3.2 累积代码行和博客字数
    ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129151742889-152422105.png)
    
    ## 3.3 学习内容总结和感悟
    
    ### 3.3.1 学习内容总结
    
    整理本周学习的主要知识点有:
    
    ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129150425867-1323211630.png)
    
    
    
    ### 3.3.2 学习体会
    #####(1):if 语句嵌套时,要注意 if 和 else 的配对问题,
    #####(2):if else 语句也可以多个同时使用,构成多个分支,,从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳到整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块n,然后继续执行后续代码。
    
    也就是说,一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行。
    #####(3)
    

    for(表达式1; 表达式2; 表达式3){
    语句块
    }

    “表达式1”仅在第一次循环时执行,以后都不会再执行,可以认为这是一个初始化语句。“表达式2”一般是一个关系表达式,决定了是否还要继续下次循环,称为“循环条件”。“表达式3”很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得“不成立”。
    #####(4):循环条件不成立的话,while 循环就一次也不会执行.
    #####(5):do-while循环与while循环的不同在于:它会先执行“语句块”,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while 循环至少要执行一次“语句块”。
  • 相关阅读:
    更换pip源到国内镜像
    概率图模型学习笔记:HMM、MEMM、CRF
    xgboost入门与实战
    XGBoost浅入浅出
    使用word2vec训练中文词向量
    我为何放弃Gulp与Grunt,转投npm scripts(上)
    POJ 1265:Area
    Android网络缓存的实现思路
    设计模式:单例模式的写法(基础写法和线程安全写法)
    DFA 算法实现关键词匹配
  • 原文地址:https://www.cnblogs.com/huqingqing2/p/11955402.html
Copyright © 2011-2022 走看看