• C语言I博客作业10


    一、本周教学内容&目标

    第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。

    二、本周作业头

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 <C语言I作业010>
    我在这个课程的目标是 <复习所学相关知识,准备期末考试>
    这个作业在那个具体方面帮助我实现目标 <在PTA中多次使用嵌套循环,熟练运用>
    参考文献 <<集美大学林丽老师>> C语言程序设计(第三版);百度

    三、本周作业

    1.PTA实验作业
    2.代码互评
    3.学习总结

    四、作业格式

    1.PTA实验作业(20分/题)

    请再此处列出自己的排名图片

    从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

    1.1 题目名1 (7-8 输出三角形字符阵列 (15 分))

    题目内容描述:

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

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

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

    输入样例:
    4
    输出样例:
    A B C D
    E F G
    H I
    J

    1.1.1数据处理

    介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。

    数据表达:定义了整型变量n, i, ,以及字符型变量['A'],n为输入的正整数,I与j用于循环,count用来计数,累加在A上;
    数据处理:
    表达式:fen55+fen22+fen1==money
    结构式:用了for循环语句以及使用嵌套内循环

    伪代码:

    int main()
    {
    定义字符型变量['A'];
    定义整型变量n。
    输入正整数scanf("%d",&n);
    进入无线循环
    定义整型变量i。
    for (i = n; i > 0; i++) 嵌套for循环语句) 循环找出
    {
    for (j = 0; j < i; j++) 嵌套for循环语句
    {
    输出空格;
    n自减;就是A+1=B了;
    换行
    }
    return 0;
    }
    

    1.1.2实验代码截图

    贴图展示代码,不要复制。请给出名字标识。

    1.1.3 造测试数据

    输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明

    输入数据 输出数据 说明
    4 输出正确
    3 输出正确
    2 输出正确
    7 输出正确

    1.1.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法

    1.格式错误: if(i!=n)写成了if(i=n)
    2.运行超时for(i = 0; i < n; i++){写成了for(i = 0; i < n; i++)}

    1.2 题目2(7-3 梅森数 (20 分)

    题目内容描述

    形如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”。

    输入样例:
    6
    输出样例:
    3
    7
    31

    1.2.1 数据处理

    介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。

    数据表达:使用了n,m,i,j,sum,flag=0。m,n表示两个实验数据,i,j用于程序中的两个循环,sum表示因子之和,flag来判断是否有因子
    数据处理:
    数据类型:for循环和if-else循环以及嵌套的内循环
    表达式:if(i==1) continue; //1不是完数
    for(j=2;j<i;j++)
    流程结构:if-else结构。

    伪代码

    #include<stdio.h>  //头文件
    #include<math.h>  //该编程中用到了数学
    int main()  //函数名
    {
      int b,c=0,d=0,n,i; //定义五个整型变量
      scanf("%d",&n);
      if(n==1)    //没有梅森数
      printf("None");  //输出 None
      for(b=2;b<=n;b++)   //进行循环,找出所有2*n-1的结果
     { c=pow(2,b)-1;    //表示素数
      for(i=2;i<c;i++)    //进行循环,循环找出是素数的数
      {
        if(c%i==0)    //找出2到c之间的所有整数i,如果c不能被这里面的任意一个数整除则这个c为梅森数
        {
          d=1;       //能被整除,不是梅森数
          break;     //跳出循环
        }
    
      }
          if(d==0)    //如果d=0则i不能被j整除,为梅森数
        printf("%d
    ",c);
        d=0;
     }
      return 0;
    }
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    7 梅森数,3,7,31
    8 ) 梅森数为3,7,31,127
    13 梅森数为3,7,31,127,8191
    10 ) 梅森数为3,7,31,127,8191,131071

    1.2.4 PTA提交列表及说明

    根据PTA提交列表,简要描述调试程序碰到的问题及解决办法

    1.编译错误: scanf("%d",&n);写成了scanf("%d",&n;)
    2.编译错误: for(b=2;b<=n;b++)写成了 for(b=2;b<=n;i++)

    第一张 (7-3 梅森数 )

    同学代码截图 |<C语言I作业10 ylimhs阿浩 >|

    自己代码截图

    答:我和同学的代码有很大的不同
    1.我用的代码是利用两个循环语句再用if语句判断。
    2.同学代码在后面解决输出NONE的情况, 而我选择在开头就解决这个问题。

    第二张 (7-8 输出三角形字符阵列 )

    同学代码截图 |<C语言I作业10 karoko >|

    自己代码截图

    答:第二个同学
    1.同学运用的是定义函数再利用两个for循环解决问题,而我则是定义字符数函数再利用while语句

    3.学习总结(15分)

    $3.1 学习进度条(5分)

    |周/日期 |这周所花的时间| |代码行 |学到的知识点简介 |目前比较迷惑的问题|
    |-|-|-|-|-|
    |第六周| 8小时 |300行 |常用的数学函数,if-else语句,for语句,自定义函数 |不会用自定义函数|
    |第七周 |7小时 |400行 |二分支结构和用char输入字符 |对于字符型的代码有点看不懂|
    |第八周| 10小时 |420行 |多分支结构,switch语句 |switch语句用得有点混乱|
    |第九周 |13小时 |450行 |自定义函数的用法,怎样用一个算法来运算多个式子 |if语句的嵌套不明白是怎样分支的|
    |第十周| 18小时 |500行 |多分支结构、字符型数据类型和逻辑运算符 |目前不太熟练并且字符型还没熟悉|
    |第十一周|12小时|600行|熟悉多分支结构switch语句的使用|switch后的表达式是否有要求|
    |第十二周|8小时 |620 |do-while语句和while,for语句的区别 |continue不知道怎么去用|
    |第十三周|10小时|650|break、continue的用法以及它们之间的关系|为什么在for循环前都要m=1;|
    |第十四周|10|600|学习了穷举算法(在一定限定范围内可以先运算所有的可能)|对于穷举算法的源程序2还是不太懂|
    |第十五周|16|650|怎样判断素数,熟悉循环的嵌套|对于嵌套循环的运用还是不太熟练|

    3.2 累积代码行和博客字数(5分)

    时间 博客字数 代码行数
    第4周 585 300
    第6周 1366 400
    第7周 2209 420
    第8周 4100 400
    第9周 6212 500
    第10周 8133 550
    第11周 10510 600
    第12周 13031 620
    第13周 15899 630
    第14周 17000 600
    第15周 19571 650

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会

    请回顾自己的本周的学习过程,描述学习感受,也可以提出你不理解的地方、对教师教学建议等。如果你有新的想法或者新的方法,请及时记录下来。

    1.这周的pta作业难题就是在了第一题,看似简单的问题却要用及其细心的态度,导致我第一题错的太多,并且错的次数太多,有点打击到自己,跳过之后隔了一天在写思路清晰多了。
    2.pta上的练习大部分其实就是一些数学题,自己可以用数学思维解决他们,却老是一下子不知道怎么用代码的形式表示他们。
    4.百度是个好东西,尤其是对于初学者来说!
    5.希望自己多学一点,走在老师前面

  • 相关阅读:
    javascript js 内存泄露
    javascript js 内存泄露工具使用
    逻辑运算符及按位或与非比较难理解先放着87
    //测试全局变量及局部变量的输出结果的异同
    域名被墙原因
    编写转义字符:78页
    1.1-java创建包和类的方法
    浏览器方法及代码打包成APP的
    一个简单的jsp+servlet实例,实现简单的登录
    LeetCode.985-查询后偶数的总和(Sum of Even Numbers After Queries)
  • 原文地址:https://www.cnblogs.com/caoxudong123/p/11941408.html
Copyright © 2020-2023  润新知