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

    问题 回答
    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10096
    我在这个课程的目标是 掌握并熟悉C语言的运用
    这个作业在哪个具体方面帮助我实现目标 嵌套循环的运用
    参考文献 《C primer Plus》《C语言程序设计》《CSDN》《百度》

    1. PTA实验作业

    1.1 输出三角形字符阵列

    题目内容

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

    1.1.1 数据处理

    数据表达:定义整型变量n,b,c,字符型变量a='A',其中n表示行数,b,c表示循环变量,a表示每列每行的字母
    数据处理:输入n表示有n行数,从第一行n列开始,每下一行依次递减直到最后n行只有一列,用两个for循环,第一个for循环得出行数,第二个for循环得出列数,从字母A开始一个一个的输出,列循环累加时,字符型变量字母累加然后输出,每一行输完跳出中间第二个for循环,以换行跳回第一个for循环
    伪代码:

    1.1.2 实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    4 A B C D
    E F G
    H I
    J
    示例
    5 A B C D E
    F G H I
    J K L
    M N
    O
    奇数
    6 A B C D E F
    G H I J K
    L M N O
    P Q R
    S T
    U
    偶数

    1.1.4 PTA提交列表及说明

    • 答案错误:输出时的%c,写成了%d,检查时发现输出的是字符型变量,应该用%c表示
    • 格式错误:改对%c后,格式还是不对,看了一遍题目输出格式要求,每个字母后一个空格,于是在%c后加了个空格就对了

    1.2 梅森数

    题目内容

    • 形如2^n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、2​3​​−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2^31​​−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。
      本题要求编写程序,对任一正整数n(n<20),输出所有不超过2^​n​​−1的梅森数。
      输入格式:
      输入在一行中给出正整数n(n<20)。
      输出格式:
      按从小到大的顺序输出所有不超过2^​n​​−1的梅森数,每行一个。如果完全没有,则输出“None”。

    数据表达:定义整型变量num,n,i,j,m=0;运用了数学库函数pow,sqrt,其中num表示梅森数,n是输入的数,i,j是循环变量,m代表一个判断条件,也表示梅森数的个数
    数据处理:初始定m=0,第一个for循环列出所有符合条件的梅森数,第二个for循环判断是否为素数,如果满足两个条件,则m累加一个,表示有梅森数,如果两个循环都运行完了,m为零,则表示没有梅森数
    伪代码:

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    6 3
    7
    31
    示例
    19 3
    7
    31
    127
    8191
    131071
    524287
    较大数
    1 None 较小数

    1.2.4 PTA提交列表及说明

    • 编译错误:sqrt的运用格式忘记加括号了,把sqrt num改成了sqrt(num)就对了

    2. 代码互评

    7-3梅森数

    计科二班邵泽玉代码

    计科二班陈卓尧代码

    自己代码

    不同:

    邵泽玉:
    1.他的写法比较简单,由于题目是n<20所以他把范围内的梅森数直接算出来了,而我的则是把所有的列出来再进行筛选
    2.他只定义两个变量,用了switch语句,我定义了5个变量,用了两个for循环嵌套
    陈卓尧:
    1.他定义了4个整型变量,我定义了5个
    2.第一个for循环条件不同,我们第二个for循环判断是否为素数的思路是一样的

    3. 学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
    第一周 7天 39 学会用markdown语法写博客园,用PTA打代码 代码格式一无所知
    第二周 6天 60 下载编译器,学到了提问的智慧 对编译器还是不了解
    第三周 3天 121 分段函数的表达,if-else语句的用法 对各语法还是不了解,数学库函数有太多不知
    第四周 3天 77 for循环语句,累加计算 对各语句还是不熟练
    第五周 4天 82 函数题,自定义函数,while循环语句 不明白函数题的写法,有些数学题是真的难
    第六周 4小时 120 学会了数组,对for循环有了进一步了解 思维容易混乱,不知道该怎么去顺解题思路和答案想不全面
    第七周 2小时 112 学会了switch语法,对数组运用更进一步 switch语法还是不熟练,有些看得懂但是自己想不到怎么写
    第八周 2小时 83 运用while语法,了解了二进制,学到%c表示字符型 对while语法并不是很熟练,伪代码不会写
    第九周 2小时 99 学会for循环的嵌套,%-4d表示占四位,左对齐 for循环过多嵌套时理解得有点麻烦
    第十周 3小时 86 学了markdown语法的表格内换行,还有素数的判断 for循环嵌套的思路与运用,想不到多种方法解决问题

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    应该算是踩点交的作业,每次做作业就一句话都不想说,怕自己一玩起来就又不想写作业了,这么多次的作业,上次课听老师讲题目似乎对for循环嵌套的思路理清楚了一些,电脑是个没有感情的计算机器,所以尽管同学有和我讲更省时的方法,我还是没有选择用那个做,因为自己还是更看得懂那个老套路的嵌套方法一点,但是应该要学会活学活用,不能局限于某次课程方法,我应该学会用多种方法去理解题目,看那些能够用多种方法写出题目的同学真的很棒,他们一定花了很多心思与时间,我也应该去多学一些,脑子不灵活,就得更加努力才是.

    资料:素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。
    思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
    思路2):另外判断方法还可以简化。m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ 根号m之间的每一个整数去除就可以了。如果 m 不能被 2 ~ 根号m间任一整数整除,m 必定是素数。例如判别 17 是是否为素数,只需使 17 被 2~4 之间的每一个整数去除,由于都不能整除,可以判定 17 是素数。
    原因:因为如果 m 能被 2 ~ m-1 之间任一整数整除,其二个因子必定有一个小于或等于根号m,另一个大于或等于根号m。例如 16 能被 2、4、8 整除,16=28,2 小于 4,8 大于 4,16=44,4=√16,因此只需判定在 2~4 之间有无因子即可。
    ---百度(C语言中素数的判断方法)

  • 相关阅读:
    AsyncTask的用法
    关于 android setAnimationStyle 的问题
    android有关bluetooth常用api简介
    Android调用系统Activity选取图像部分区域
    Android 关于ListView几个特别的属性
    Android应用界面动画切换(主要Tabhost中跳转出来的动画效果解决[转]
    ✿Android 3.1 久违的 USB、mtp、rtp
    读《C++沉思录》心得:拷贝构造函数
    Cloud Foundy入门
    HDFS读文件详解
  • 原文地址:https://www.cnblogs.com/1076022899-lj/p/11960488.html
Copyright © 2011-2022 走看看