• C语言I博客作业08


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11611
    这个作业的目标 <区别break、continue语句并学会使用 , 熟悉使用for循环嵌套>
    学号 <20208969>

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

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

    1.1 题目名1:7-1 显示指定范围内的素数 (10分)

    题目内容描述
    输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
    1.1.1数据处理

    数据表达:用了m,i,j,k变量;这些变量的值是赋值来的;都是整型变量。
    数据处理:流程结构:运用if-else语句和for循环的嵌套
    表达式:
    if(m>541);
    if(m<=2);
    for(j=2;j<=m;j++);
    for(i=2;i<j;i++);
    if(j%i==0);
    if(j==i);
    if(k%15==0)
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    100 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 输入100时数组中的素数是2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
    568 OVERFLOW 输入568时数组中的素数超过100
    1 NO 输入1时程序终止
    7 2 3 5 7 输入7时数组中的素数是2 3 5 7
    1.1.4 PTA提交列表及说明
    提交列表说明:
    运行超时:错误太多;
    部分正确:只有输入样例100时运行正确,忘记考虑输出“OVERFLOW”和“NO”的情况;
    部分正确:使用if语句将“数组最多只存放100个素数”的情况写入,但放的位置不对;
    解决办法:用if-else语句分支结构,将for循环的嵌套写入里面。
    

    1.2 题目2:7-2 打印九九口诀表 (15分)

    题目内容描述
    下面是一个完整的下三角九九口诀表:

    1*1=1   
    1*2=2   2*2=4   
    1*3=3   2*3=6   3*3=9   
    1*4=4   2*4=8   3*4=12  4*4=16  
    1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
    1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
    1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
    1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
    1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  
    

    本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
    1.2.1 数据处理

    数据表达:用了N,i,j变量;这些变量的值是定义来的;都是整型变量。
    数据处理:流程结构:for循环的嵌套
    表达式:
    for(j=1;j<=N;j++)
    for(i=1;i<=j;i++)
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    4 输入4时输出结果如图
    9 输入9时输出结果如图
    0 输入0时无输出结果
    1.2.4 PTA提交列表及说明
    提交列表说明:
    答案错误:格式错误:输出时没满足题目要求“等号右边数字占4位、左对齐”;且输出结果错误;
    部分正确:输出结果为
    1*1=1   
    2*1=2   2*2=4   
    3*1=3   3*2=6   3*3=9   
    4*1=4   4*2=8   4*3=12  4*4=16  没注意双for循环中的内层和外层情况
    解决办法:printf输出时用“%-4d”;将输出“printf("%d*%d=%-4d",j,i,i*j)”中的i和j调换位置。
    

    2.代码互评(5分)

    A:
    同学代码截图

    自己代码截图

    比较:同学代码中使用了if-else语句,考虑问题比较周到。
    

    B:
    同学代码截图

    自己代码截图

    比较:都使用三重嵌套;循环条件中我直接写的结果。
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

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

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

    3.3.1 学习内容总结

    3.3.2 学习体会
    <1>.break语句比continue语句使用范围更广;continue只能跳出当前这一层循环,而break是跳出整个循环,return 0结束多重循环;continue后面的语句不执行。
    <2>.之前做完题目总是会出编译错误,而现在更多的是编译后显示没有错误,但一输入样例就结果错误,没有结果等等。说明面对的问题更难了。
    <3>.学习的东西更多,接受的知识开始变复杂了,要多看书,多学习,上课老师讲解时认真听。

  • 相关阅读:
    java中执行子类的构造方法时,会不会先执行父类的构造方法
    Failed to start component [StandardEngine[Catalina].
    AlertDialog的onCreateDialog与onPrepareDialog用法
    [华为机试练习题]25.圆桌游戏
    HDU 5071 模拟
    把手机变成电脑的遥控器
    查询锁表的信息
    Testin云測与ARM 战略合作:推动全球移动应用加速进入中国市场
    9 abstract 和 Virtual 之间的差别
    STL之vector容器的实现框架
  • 原文地址:https://www.cnblogs.com/lilin-0727/p/14130729.html
Copyright © 2020-2023  润新知