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

    一、本周教学内容&目标

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

    二、本周作业头

    题目 答案
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10096
    我在这个课程的目标是 能够熟练c语言,能够使用开发软件
    这个作业在那个具体方面帮助我实现目标 每次作业的错误都能是我学到很多新的知识盲点
    参考文献 百度、《c语言程序设计》

    三、本周作业

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

    四、作业格式

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

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

    输出三角形字符阵列

    题目内容描述:

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

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

    输出格式:

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

    4
    

    输出样例:

    A B C D 
    E F G 
    H I 
    J 
    

    1.1.1数据处理

    数据表达:定义了字符a,整型i,j,n;其中i,j用来控制循环,n用来接受输入的整数 。
    数据处理:运用了两个for循环,第一个for用于输出高度,第二个for用来输出宽度,每次输出a之后都使a自增。使输出的字母是连续的。
    伪代码:

    #include<stdio.h>
    int main()
    {
        定义字符a的值为字符A 
        定义3个整型变量i,j,n; //i,j用来控制循环,n用来接受输入的整数 
        输入一个整数n; 
        for(把n的值赋给i,循环n次,i每循环一次自减) // 用作输出的高度 
    	{
            for(循环i次){ 
                输出字符a; 
                a自增;		
            }
            换行;
        }
    
        return 0;
    }
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    3 A B C
    D E
    F
    输出3行。
    4 A B C D
    E F G
    H I
    J
    输出4行。

    1.1.4 PTA提交列表及说明:

    • 格式错误:字母之间没有空格。
    • 解决方法:第九行输出加了空格。

    梅森数

    题目内容描述:

    输入样例:

    6
    

    输出样例:

    3
    7
    31
    

    1.2.1 数据处理

    数据表达:定义两个整型变量n,i; 其中i用来控制循环,n用来接受输入的整数 。
    数据处理:利用了for循环嵌套switch。
    伪代码:

    #include<stdio.h>
    int main(void)
    {
        定义两个整型变量n,i;
        输入一个整数赋值给n; 
        for(i的初始值为1;循环n次;i自增){
        	switch(i){
        		case 2:输出3  	break;
        		case 3: 输出7  并换行; 	break;
        		case 5: 输出31  并换行; 	break;
        		case 7: 输出127  并换行; 	break;
        		case 13: 输出8191  并换行; 	break;
        		case 17: 输出131071  并换行;	 break;
        		case 19: 输出524287  并换行;	 break;
        	}
        }
        if(n小于2) 
    	输出None;
    	
        return 0;
    }
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    1 None 无梅森数时
    10 3
    7
    31
    127
    随机数
    20 3
    7
    31
    127
    8191
    131071
    524287
    最大(20)时

    1.2.4 PTA提交列表及说明

    • 部分正确:由于没有弄清楚什么是梅森数,以为是2的指数是素数,2的n次方减1就是梅森数,所以输出错误。
    • 解决方法:我直接查到了题目范围内符合条件的梅森数,然后改用for嵌套switch。

    2.代码互评

    找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

    同学1 同学2 我的代码

    区别:同学1是一个标准的方法,找到梅森数的格式,再判断它是不是素数。同学2多用了一个num变量,判断条件也不一样,但是原理基本相同。而我的就和他们的区别很大。因为题目条件有范围,所以直接把范围内的梅森数都算出来,再switch输出。由于要从小到大输出所以我还用了switch。

    他们都用了这个方法判断素数。判断m是否是素数,只需被 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 之间有无因子即可。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周 /日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周 3小时 60 学会输出字符
    第二周 10小时 186 学到变量名称、运算、把变量的结果输出
    第三周 7.5小时 245 学会if条件判断
    第四周 5小时 120 学会使用for循环
    第五周 6小时 80 学会定义函数,do while 等循环 一些复杂的函数看到不知道怎么定义,不了解一些新定义,比如const
    第六周 7小时 140 数组的定义,break的用法 对于一些题目不知道到底用什么方法去解决
    第七周 8.5小时 254 switch语句不加break;的用法。
    第八周 10小时 360 字符串的使用 不会用字符串解决实际问题
    第九周 8小时 400 利用循环嵌套来解决问题 有很多问题不知道如何下手,思路不是很清晰。
    第十周 12小时 400 复杂的循环嵌套和字符的使用。 不会写伪代码

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

    时间 博客字数 代码行数
    第一周 183 60
    第二周 1774 186
    第三周 2149 245
    第四周 1585 120
    第五周 1645 80
    第六周 2139 140
    第七周 1979 254
    第八周 2010 360
    第九周 1856 400
    第十周 2014 400

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

    3.3.1 学习内容总结

    请用思维导图的形式将到目前为止所学的内容进行整理。

    3.3.2 学习体会

    这次作业我都是自己琢磨出来的,在无数次的错误中,我尝试过很多方法。我发现有些题目可以更简化,比如梅森数,可以直接把范围内的梅森数都算出来,再输出。这种方法刚好符合上次老师说的,既容易又处理速度快。但是要是按标准方法又是一道烧脑题。在做PTA第一题的时候,我做着做着真的比较迷茫,我只是按照运行结果来判断的,之前我发现结果和题目一样时我就得没错误了,但是还是答案错误,认真的检查后,我发现我都输出了一个空格,当自己答案正确的时候,我真的自己也不知道怎么回事。我觉得我还需要多做题目。

    五、评价标准

    C语言作业评价标准
    本次作业特别注意:

    • 1.提交列表没内容,或者太简单,每题得分0分。注意选择提交列表长的题目介绍。
    • 2.代码格式不规范,0分。
    • 3.代码互评,内容简单,0分。
    • 4.学习内容总结无思维导图,0分。
    • 5.完成挑战题的同学,加20分。
  • 相关阅读:
    记录JavaScript的util.js类库
    Shiro登录中遇到了问题
    【转载】JavaScript导出Excel
    react-router
    react 表单
    html5定位getLocation()
    html5存储方式localstorage和sessionStorage
    position导致Safari工具栏不自动隐藏
    input type="datetime-local" 时placeholder不显示
    vuex(1.0版本写法)
  • 原文地址:https://www.cnblogs.com/szy5201314/p/11956864.html
Copyright © 2011-2022 走看看