C语言I博客作业07

作业头

这个作业属于哪个课程 hhttps://edu.cnblogs.com/campus/zswxy/SE2020-3
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11586
这个作业的目标 <理解while和do-while的应用>
学号 <20209161>

1.PTA实验

1.1 题目名1

1.1.1数据处理

数据表达:整形a,通过scanf输入。
数据处理:应用while,循环条件为a!=1,再嵌套if-else语句。
    while(a!=1){
        if(a%2==0){
            printf("%d/2=%d\n",a,a/2);
            a=a/2;
        }
        else{
            printf("%d*3+1=%d\n",a,a*3+1);
            a=a*3+1;
        }
    }

1.1.2实验代码截图

1.1.3 造测试数据

输入 输出 说明
4 4/2=2,2/2=1 输入为偶数
33+1=10,33+1=10,5*3+1=16,16/2=8,8/2=4,4/2=2,2/2=1 输入为奇数
2 2/2=1 输入为偶数

1.1.4 PTA提交列表及说明


答案错误:while结束条件错误,把a==1改为a!=1。
格式错误:输出忘记换行,printf中加上换行符。

1.2 题目2

1.2.1 数据处理

数据表达:变量有a,b,都是整形,b通过scanf输入。
数据处理:用do-while循环,再嵌套if-else语句。
    do
    {
        scanf("%d",&b);
        if (a<b)
        {
            a=b;
        }
    } while (b>=0);

1.2.2 实验代码截图

1.2.3 造测试数据

输入 输出 说明
2 3 6 -4 5 6 五位同学
95 64 62 75 95 四位同学
55 66 77 88 99 100 100 六位同学

1.2.4 PTA提交列表及说明


编译错误:while()后面忘记加;,在括号后加上;。
运行超时:while的循环条件理解错误,正确为 while (b>=0)

2.代码互评

同学代码截图


自己代码截图

第一位同学用的是while(1)条件判断永远为真,一直循环直到遇到break语句跳出循环。我用 while循环结束条件。
第二位同学循环结束条件不一样,他用的是while(n!=-1),我用的是while(a>=0)。if的条件不一样,基本思路差不多。

3.学习总结

3.1 学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较困惑的问题
第14周11.30-12.6 12h 690 while和do-while循环 对while的结束条件和应用不熟练

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2学习体会

1.随着我们不断增加新知识,学习的内容也越来越多,在做题目的时候,发现一个题目有多个方法解决,不同的方法我们都应该去掌握和理解,才能取得更大的进步
2.在课后我们都有充足的时间,不能浪费,做完PTA,可以找一些课外题目做,这样来提升自己能力
3.做题目的方式,可以在草稿纸上写下自己简单的思路,不能拿到一个题目就开始打代码
posted @ 2020-12-04 18:53  软件3班彭聪  阅读(106)  评论(7)    收藏  举报