C语言I博客作业08

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业08
我在这个课程的目标是 熟练运用do-while语句
这个作业在那个具体方面帮助我实现目标 在PTA的练习中,和对知识的自我总结上
参考文献 集美大学林丽老师、百度文库、C语言程序设计

1.PTA实验作业

1.1 题目名1

求整数的位数及各位数字之和

对于给定的正整数N,求它的位数及其各位数字之和。

输入格式:
输入在一行中给出一个不超过10
​9
​​ 的正整数N。

输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

输入样例:321输出样例:3 6

1.1.1数据处理


{
     定义变量N(用来存放输入的整数),i(用来存放整数的位数),c(整数中各位数的和)
     i=0
     c=0  
     对i,c初始化为0
    while N>0(当N>0时)
    {
      c=N%10+c  对输入的数取余,得出个位数
        N=N/10  用输入的除以10,删掉原本的个位数
        i++     累加位数
    }
    输出位数,各个位数的和的值
    结束
}

1.1.2实验代码截图

C语言I博客作业08_第1张图片

1.1.3 造测试数据

输入数据 输出数据 说明
456 3 15 输入的为三位数,他们的和为15
789 3 24 输入的为三位数,和为24
6589 4 28 输入的为四位数,和为28

1.1.4 PTA提交列表及说明

* 答案错误:在N>0中加了等于号,提交后发现错误又想了一遍
* 答案错误:输出的格式不对忘记加空格了,又看了一遍题才发现的
* 答案错误:把要输出的字母弄错了,看错误提示发现的

2.2题目名2

爬动的蠕虫

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?

这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

输入格式:
输入在一行中顺序给出3个正整数N、U、D,其中D

1.1.1数据处理

{
    定义变量N(井的深度),D(掉下来的长度),U(爬上去的长度),i(时间),a(实际上爬的长度)
    a=0
    i=0
    对,a,c进行初始化为0
    while a<=N  当a<=N时
    {
        i++  对i进行累加
        a=a+U;  对实际长度进行累加  其中的+U只有最后一次循环真正加了U的值
        if a大于等于N
        {
            break; 跳出循环
        }
        else
        i++  继续累加时间
        a=a-D;  减去U中多加的值
    }
    输出时间的值
    结束
}

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
3 12 1 1 D>N,所以不足一分钟,但是不足一分钟也算作一分钟
5 2 1 7 N>D,当深5米,爬2米,掉1米时需要7分钟才能爬出去
9 5 3 5 N>D,当深9米,爬5米,掉3米时需要5分钟才能爬出去

1.1.4 PTA提交列表及说明

*编译错误:printf后面的语句忘记打分号了,看了错误提示发现的
*部分正确:while语句中没打等于号,问了同学发现的
*部分正确:忘记给i赋值了,看了错误提示发现的

2.代码互评

自己代码

C语言I博客作业08_第2张图片

同学代码:

C语言I博客作业08_第3张图片

* 同学用了for循环语句,而我用的是while循环语句。
* 同学用了数组s[i]存放数据,而我用的是字母C累加的方法计算数据。同学方法比较先进可以借鉴,不过我的方法比较好理解。

自己代码

C语言I博客作业08_第4张图片

同学代码:

A同学:

C语言I博客作业08_第5张图片

B同学:

C语言I博客作业08_第6张图片

* A同学与我一样用了while循环语句,不过她的比我简洁了一些。可以学习一下她的方法
* B同学从循环一开始就用了if-else语句,而我是等到经过一系列循环后再使用if语句判断是否可以跳出循环语句。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较困惑的问题
第六周 4天 20 用 MinGW-w64 来编译C程序,学习编程计算温度的转化
第七周 3天 99 学习用if,else等语句编译程序
第八周 2天 75 学习使用循环语句,用for来编译程序
第九周 3天 94 学习各种使用函数eg:fact(i) for循环与while循环的区别
第十周 2天 213 学习使用多种分支结构 对分支结构中for循环有点迷糊不太能理解
第十一周 1天 135 学习使用switch语句
第十二周 1天 96 学习使用while语句

3.2 累积代码行和博客字数

C语言I博客作业08_第7张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

C语言I博客作业08_第8张图片

3.3.2 学习体会

这周学习了while语句,这个语句在学习for循环的时候已经自己预先学习过,在学习for循环的时候,做PTA作业时我比较喜欢用while循环,因为它比较直接,简单。现在真正在课堂上接触它也感觉得心应手了很多。虽然在PTA的练习中我也时常出现许多小毛病,但是在思路方面变得熟练了很多然后在做博客园的总结中,使我能更深入的思考学过的知识点,并且提高了自己的总结能力。希望在以后的学习也能这样得心应手。随着PTA的难度、行数也在逐渐提高,代表着我需要更加努力!

C语言I博客作业08_第9张图片

你可能感兴趣的:(C语言I博客作业08)