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

    一、本周教学内容&目标

    第4章 循环结构 4.5 综合介绍循环结构的程序设计,涉及到多个典型算法。要求学生能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。

    二、本周作业头

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10096
    我在这个课程的目标是 掌握C语言,灵活运用C语言编程
    这个作业在那个具体方面帮助我实现目标 深度掌握嵌套式循环
    参考文献 百度以及C语言程序设计教材

    1.PTA实验作业

    1.1 7-8 输出三角形字符阵列

    题目内容描述:
    本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
    
    输入格式:
    输入在一行中给出一个正整数n(1≤n<7)。
    
    输出格式:
    输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
    

    1.1.1数据处理

    数据表达:定义了整型变量循环变量i,行数n,循环变量j,以及将n赋值的变量m,字符形变量op接收'A'
    数据处理:
    定义变量i,n,j,m,op
    op赋值为'A'
    m=n
    for(i=1;i<=n;i++){
    for(j=1;j<=m;j++){
    输出op
    op=op+1
    }
    换行
    列数-1
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    4 题目示例
    3 n为3时
    2 n为2时

    1.1.4 PTA提交列表及说明

    说明:
    1.部分错误:我将m--写在了第二个for里面,后来将它移至第一个for中第二个for后
    

    1.2 7-3 梅森数

    题目内容描述:
    形如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 数据处理

    数据表达:定义整型变量循环变量i和j,m为2^n-1的值,n为幂指数,count为个数,y为进入if的标志
    数据处理:
    定义变量i,j,m,n,count=0,y=0
    for(i=2;i<=n;i++){
    m=2^n-1
    y=0
    for(j=2;j<m;j++){
    如果m可以整除除本身和1之外的数
    则break
    y=1
    }
    如果y=0
    则输出m
    标记count++
    }
    若count=0
    则输出None
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    6 题目示例
    2 3 当梅森数只有一个时
    1 None 没有梅森数时
    8 当梅森数有4个时

    1.2.4 PTA提交列表及说明

    说明:
    1.部分错误:一开始使用的另一个方式只采取使用一个for然后用if分情况讨论,发现不可以采取,于是换成了现在这种模式
    2.答案错误:因为写这道题时,在Dev c++上写了一遍,然后复制上去时忘记删除printf("Enter n:")了,后来删除了
    

    1.3 7-4 同构数

    题目内容描述:
    一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
    
    输出格式:
    在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
    

    1.3.1 数据处理

    数据表达:定义了整型变量 n,i,m,n为1~1000中数字的平方值,i为1~1000中的数字,m为n的求余
    数据处理:
    定义变量 n,i,m
    for(i=1;i<=1000;i++){
    n=i*i;
    情况1:i的值小于10
    则m=n%10
    如果m=i
    则输出i
    情况2:i的值>=10且<100
    则m=n%100
    若m=i
    则输出i
    情况3:i<=1000且i>=100
    则m=n%1000
    若m=i
    则输出i
    

    1.3.2 实验代码截图

    1.3.3 造测试数据

    输出数据 说明
    1 5 6 25 76 376 625 i在1~1000范围内

    1.3.4 PTA提交列表及说明

    说明:
    1.答案错误:一开始i没有分情况讨论,同意是将m=n%10来讨论,后面分类讨论
    2.答案错误:用if将100之前的讨论出来后直接else,else的范围比实际想要的if(i<=1000&&i>=100)要大,后面直接去除else将if具体写出
    

    2.代码互评

    题目一:7-4 同构数

    同学代码:来自计科一班彭齐家同学

    自己代码:

    不同:
    1.彭齐家同学是将三个情况直接统计在了1个if中,而我的是将他们分开讨论
    

    题目二:7-3 梅森数

    同学代码:来自计科二班同学

    自己代码:

    不同:
    1.她直接将None的情况n==1列出来,我的是通过计数来将None的情况列出来
    2.她是将sum!=0的情况列出啦,而我的是通过y=0来将梅森数记录下来
    

    3.学习总结

    3.1 学习进度条

    3.2 累积代码行和博客字数


    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    马上要考试了,然后肯定是很紧张的,这周因为身体原因,也没有过多去学习,所以多以专业知识的考试挺畏惧的,不过还是要相信自己。离考试时间也不多了,很多科目也要复习,但不能落下C语言科目,自己要多费心思在上面,对于自己疑惑的点要多去学习,多去复习,多看看相关资料,争取弄懂,然后这一周pta的作业中第一题不是很会,然后请教了同学指导,可能还是有点不太懂,争取弄懂,皇天不负有心人,相信只要自己肯付出,一定会有收获的,其实我在专业上面挺惫懒的,希望自己更加积极吧,对于之前学的函数可能还是自己的一大困惑点,争取早日攻破!加油!为伊消得人憔悴,在所不惜。
  • 相关阅读:
    【BZOJ4892】【TJOI2017】—DNA(后缀数组+ST表)
    【BZOJ1563】【NOI2009】—诗人小G(决策二分栈优化dp)
    【洛谷P5249】【LnOI2019】—加特林轮盘赌(概率dp)
    【Ural1519】— Formula1(轮廓线dp)
    【BZOJ3728】【PA2014】—Final Zarowki(思维题)
    【BZOJ3730】—震波(动态点分治)
    【Hackerrank (70)】—Range Modular Query(莫队+暴力)
    【省选模拟】—Cactus(圆方树+dfs序)
    【BZOJ2125】—最短路(圆方树+树链剖分)
    python 基础 列表
  • 原文地址:https://www.cnblogs.com/gm12/p/11957026.html
Copyright © 2011-2022 走看看