• C语言I博客作业07


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-1
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11584
    这个作业的目标 <使我更加熟练运用函数>
    学号 <20209086>
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 < https://www.cnblogs.com/cjrhh/p/14075698.html>
    我在这个课程的目标是 <使我更加熟练运用函数>
    这个作业在那个具体方面帮助我实现目标 <分析错误,造测试数据和代码互评 >
    参考文献 <C语言程序设计,while循环,单重循环运用>

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


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

    1.17-3 循环-古角猜想 (20分)

    日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。

    1.1.1数据处理

    数据表达:用了整型变量n。n表示输入的自然数。
    数据处理:用了while语句,if-else语句。while(n!=1){if(n%2==0){printf("%d/2=%d ",n,n/2);n/=2;}
    else{printf("%d3+1=%d ",n,n3+1);n=n*3+1;}

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    5 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 5是奇数,奇数乘以3加1 偶数就除2,最后结果为1
    3 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 3是奇数,奇数乘以3加1 偶数就除2,最后结果为1
    8 8/2=4 4/2=2 2/2=1 8是偶数,偶数就除2,偶数再除2,最后结果为1

    1.1.4 PTA提交列表及说明


    1.多种错误:包括运行超时和答案错误;运行超时while循环中的n/=2打错无法结束循环,所以答案错误。
    2.编译错误:更改的时候多删个分号。
    3.部分正确:printf("%d3+1=%d ",n,n3+1)因为图方便复制成printf("%d/2=%d ",n,n/2)没有改过来。

    1.2 7-7 单重循环—数鸡蛋。 (10分)

    妈妈给小明家新送来 y个鸡蛋。 已知小明家原有鸡蛋的个数x是满足“三个三个的数剩1个,5个5个数剩z个,7个7个数剩3个”的最小数, 请问小明家共有多少个鸡蛋? (设输入为正数,不考虑非法输入)

    1.2.1 数据处理

    数据表达:整型变量x,y,z
    数据处理:用了while语句,if语句while(x<=100){x++;if(x%3= =1&&x%5= =z && x%7==3)

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    4 3 77 x%3= =1&&x%5= =3&&x%7= =3得出x=73
    2 4 96 x%3= =1&&x%5= =4&&x%7= =3得出x=94
    3 5 Invalid Value! x%5不能等于5

    1.2.4 PTA提交列表及说明


    1.编译错误:开始一直不太确定x%5==z如何处理之后查了单重循环运用知道可以直接并在if中。
    2.编译错误:x%5= =z输入成z= =x%5;
    3.答案错误:开始时没有将x%5= =z输入if中。

    2.代码互评(5分)

    同学代码截图

    贺姣代码截图

    陈文杰代码截图

    自己代码截图


    1.我与贺姣同学代码大部分相同但是贺姣同学代码之间还使用了一个if语句使条件更加严谨;
    2.陈文杰同学代码和贺姣同学代码相似,但是while中的条件不同,陈文杰的是a>=0,而我的和贺姣的是a!=-1;
    3.因为题中明确写道以-1作为输入结束的标志所以a!=-1更加准确;
    4.但是这告诉我们while的增长条件不唯一,所以不太确定如何给while定义终止循环条件。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周/10.19~10.25 20小时 20行 在屏幕上显示Hello World!markdowm语法
    第九周/10.26~11.1 25小时 320行 变量和数据类型,如何在网上提问 无法准确定义
    第十周/11.2~11.8 30小时 660行 if-else并列结构,for循环 部分格式不太了解
    第十一周/11.9~11.15 33小时 870行 自定义函数 如何正确定义一个函数
    第十二周/11.16~11.22 40小时 900行 字符型变量char 字符的输入输出
    第十三周/11.23~11.29 42小时 935行 多分支结构switch语句的使用 switch语句的选择
    第十四周/11.30~12.6 39小时 879行 while循环do-while循环运用 循环终止条件如何设置,伪代码

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

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

    3.3.1 学习内容总结

    3.3.2 学习体会

    本周学习了while语句和do-while语句,知道了while语句与do-while语句的区别,当循环次数明确时用for语句,;如果循环次数不明确且需先进入循环则用do-while语句。这次pta难度有点大,特别是野王认证,我还是在同学的帮助下才完成,但是我一定会在课后去解决我的一些问题,通过询问同学,上网查寻来解决问题,通过每次的积累,从而进一步完善自己,让我们加油!

  • 相关阅读:
    Visual Studio 调试系列3 断点
    mysql客户端(Navicat)远程登录操作遇到问题1142
    php Socket通信
    centos crontab(定时任务) 使用
    nginx中配置pathinfo模式示例
    IE9总是弹出“ICBC Anti-Phishing class” 加载项是否要启用还是不启用的提示
    windows 2008 R2 断电重启进入修复模式
    unserialize() [function.unserialize]: Error at offset
    解决子级用css float浮动 而父级div没高度不能自适应高度
    php追加编译GD库
  • 原文地址:https://www.cnblogs.com/cjrhh/p/14075698.html
Copyright © 2020-2023  润新知