zoukankan      html  css  js  c++  java
  • C语言I作业08

    问题 答案
    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 作业链接
    我在这个课程的目标是 能够熟练运用C语言,能够自己制作一些简单的软件
    这个作业在那个具体方面帮助我实现目标 熟悉了while和do-while语句的使用
    参考文献 C语言程序教材,百度

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

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

    1.1.1数据处理

    数据表达:设置了count, number, sum三个变量,count代表位数,sum代表各位数之和。均为整型变量
    数据处理:

    include<stdio.h>

    int main()
    {
    int count, number, sum = 0;//设置变量count代表位数,number代表输入的整数,sum代表各位数之和//
    count = 0;
    scanf ("%d", &number); //输入数据//
    do{ //使用do-while语句进行运算//
    sum += number%10; //将整数number的各位数分离出来//
    number /=10;
    count++; //通过累加计算位数//
    }while (number!=0); //停止循环的条件//
    printf ("%d %d ", count, sum); //输出答案//
    return 0;
    }

    1.1.2实验代码截图

    1.1.3造测试数据

    输入数据 输出数据 说明
    321 3 6 题目例题
    654321 6 21 随机测试
    456789 6 39 随机测试

    1.1.4PTA提交列表及说明

    1.部分正确:跟着书上的例题写的,忘记计算各个位数的和。
    2.答案正确:从头看了一遍发现错误。

    **1.2爬动的蠕虫 **

    一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
    这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

    1.2.1数据处理

    数据表达:设置了N, U, D, a,t等几个变量,由题目意思给出,均为整型变量。
    数据处理:

    include<stdio.h>

    int main()
    {
    int N, U, D, a; //根据题意设置变量//
    int t;
    a = t = 0; //定义啊a,t的初始值是零//
    scanf ("%d %d %d",&N ,&U ,&D); //输入数据//
    while(a<N) //使用while语句进行运算//
    {
    t++;
    a = a + U;
    if (a >= N) //使用if进行判断,达到条件则跳出循环,否则继续运算//
    break;
    a = a - D;
    t++;
    }
    printf ("%d",t); //输出最后答案//
    return 0;
    }

    1.2.2实验代码截图

    输入数据 输出数据 说明
    12 3 1 11 题目给出的数据
    14 3 1 13 随机数据

    1.2.4 PTA提交列表及说明

    1.答案错误:不知道为啥错在哪里,看了好几遍。
    2.编译错误:重新打了一遍。

    2、代码互评

    同学代码

    我的代码

    • 我们都使用了if-else语句,并且他的代码还使用了for循环语句。但是我是对年份进行选择,而他是只对二月份进行选择。相比之下我的更麻烦也更蠢。
    • 他的计算是将月份的日期进行累加,我的是将每个月是这一年的第几天算出来。我的代码显得更麻烦。
    • 要学好去思考更好的方法,好的方法可以节约很多的时间。要学会去学习别人的方法,思考自己的代码有什么不足,有什么可以进步的地方,这样才能进步。

    3、学习总结

    3.1 学习进度条

    日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
    10/7--10/13 7个小时左右 70左右 if-else语句,算术运算和赋值运算 有些代码的含义和一些函数的含义
    10/14--10/20 8个小时左右 200行左右 for循环语句的使用 对for循环结构和if-else语句的使用不太熟练
    10/21--10/27 6个小时左右 120行左右 定义函数与调用 对函数的使用还不太熟练
    10/28--11/3 8个小时左右 250行左右 学习程序解析和多分支else-if语句 用太多if-else会比较混乱
    11/4--11/8 9个小时左右 230行左右 学习多分支结构switch语句的使用 大问题没有,就是总会粗心漏打或打错
    11/9--11/14 9个小时左右 250行左右 学习while和do-while语句的使用 对do-while语句还不太理解

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    • 已经学习这个有一段时间了,已经学过的东西还是有很多不太理解,尤其是PTA有时候一道题就是一个多小时。但是越是去深入的学习越是能感受到其中的魅力。想要学好这
      一门,我必须要付出更多的时间。我相信一定能学好。
    • 想要学好这一门就要经常去练习,熟能生巧。还可以自己去找题目做,在不断的练习中会逐渐进步。
    • 有时候发现发现别人的代码比自己的简短好多,才发现自己还有很多的不足,要多向别人学习,取长补短。
  • 相关阅读:
    菜鸟解决“子页面关闭刷新父页面局部”问题的历程
    ORACLE基本SQL语句-查询篇
    ORACLE基本SQL语句-添加更新数据函数篇
    ORACLE基本SQL语句-用户及建表篇
    关于JVM
    调用微信支付接口总结
    Oracle入门
    C#使用 SharpAVI进行 屏幕录制
    window 下编译cef 内核 加入mp3/mp4 支持
    python 模块 optparse
  • 原文地址:https://www.cnblogs.com/lft791110/p/11850877.html
Copyright © 2011-2022 走看看