• C语言Ⅰ博客作业10


    一、本周教学内容&目标

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

    二、本周作业头

    问题 答案
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097
    我在这个课程的目标是 熟练地运用C语言进行编程
    这个作业在那个具体方面帮助我实现目标 多写代码
    参考文献 《PTA常见问题解答》伪代码的写法:https://www.cnblogs.com/huipengkankan/archive/2011/07/28/2120416.html,《c语言程序设计》

    三、本周作业

    1.PTA实验作业

    1.1输出三角形字符阵列

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

    1.1.1数据处理

    数据表达:定义了整型变量n,i,并给i赋值为0,还定义了一个字符型变量cha,将其赋值为'A';
    数据表达:
    伪代码:
    int n;      //输入的行数和每行的字符数
    输入n   
    char c←'A'; //定义一个字符型变量,使其从A开始。
    int n←0;
    if (n < 7){
    while(n≠0)
    {
        for(i←0 to n)
        {      
            printf("%c",ch);  
            ch←ch+1
        }
        printf("
    ");
         n←n-1;    
    }
    else{
          printf("error!");
    }
    end
    

    1.1.2实验代码截图

    1.1.3造测试数据

    输入 输出 说明
    4 检验题目要求输出样例
    2 在符合定义范围内输入

    1.1.4PTA提交列表说明

    编译错误:先在Devc++上运行过了,后面不小心把else前面的花括号删了导致编译错误,我后来根据PTA的错误提示信息改正过来了。
    

    1.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”。
    输入样例:
    6
    输出样例:
    3
    7
    31
    

    1.2.1数据处理

    数据表达:定义了整型变量m,n,i,j,k,并给k赋值为0;
    数据处理:
    伪代码:
    int m,n,i,j,k←0;
    输入n;
    for (i←2 to n ){
        m←pow(2,i)-1;
        for(j←2 to sqrt(m))
            if(m%j==0) break;
        if(j > sqrt(m)){
           printf("%d
    ",m);
           k←k+1;
           }
         }
         if(k==0)
         printf("None!")
         end
    

    1.2.2实验代码截图

    1.2.3造测试数据

    输入 输出 说明
    5 2的5次方-1以内有三个梅森数
    6 2的6次方-1以内有三个梅森数

    1.2.4PTA提交列表及说明

    答案错误:开始在devc++上运行的时候少了个判断素数的条件,导致后面运行出来的答案不正确,后面反复检查更改才将答案改正确。
    

    四.代码互评

    同学代码

    我的代码

    我和同学的代码所用的算法不一样,同学第二个for循环中是输出的ch+x,而我是直接输出的ch,并且在后面用了一个n=n-1的式子
    

    同学代码

    我的代码

    我和同学代码的主要区别在于我们两个算素数的方法不一样,我是利用平方根的方法来计算素数,而同学是利用平方求余来计算素数的。

    五.学习总结

    |周/日期|这周所花时间|博客字数|代码行|学到的知识点|此前比较迷茫的问题|
    |---|---|---|---|---|
    |第一周|两天|619|32|学会简单地编写代码|什么时候该空格或者打分号|
    |第二周|三天|828|18|学会计算摄氏温度与华氏温度的转化|不太会转化的表达式|
    |第三周|三天|1128|90|学习scanf语句,if-else语句|不是很清楚输入符号标点所表示的意思|
    |第四周|四天|1425|75|初步了解for循环语句|对其运用的条件还不是很清楚|
    |第五周|三天|1408|83|对自定义函数的定义和调用有初步的认识和了解|不是很明白如何调用以及形参和实参的定义|
    |第六周|四天|1523|144|对分支结构有进一步的了解,学习了运算符号的输入输出|字符型的输入输出|
    |第七周|两天|1688|133|对switch语句有了一定的了解|switch语句使用的具体条件还不是很清楚|
    |第八周|一天半|1438|84|do while循环结构和while循环结构|对循环结构的使用还不是很熟练|
    |第九周|一天半|1729|82|break和continue语句的使用方法|对continue的使用条件和作用还不是很清楚|
    |第十周|一天|1588|79|对for循环嵌套语句有了更进一步的了解|对嵌套的关系还不是很理解|

    3.2累积代码行和博客字数

    3.3学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会
    • 我感觉这周的作业难度大一些,虽然没有很多没学过的内容,但是在对学习内容的应用方面要求的更高了,我觉得这是对我们能力的一种挑战,虽然难做,并且我没有都写完,但是对能力的提升确实有很大帮助,希望我下次能更好的完成作业。
  • 相关阅读:
    运算符的优先级(从高到低)
    常用字符与ASCII代码对照表
    02.数据类型常量与变量
    Java基础01
    2以太坊入门的方法2
    区块链学习笔记1
    5关键字this与super的区别
    4Java中成员变量与局部变量
    lua返回页面时中文乱码
    struts2中<jsp:forward>跳转时报404错误的问题
  • 原文地址:https://www.cnblogs.com/Healer5/p/11960005.html
Copyright © 2020-2023  润新知