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

    作业头

    这个作业属于哪个课程 C语言程序设计II
    这个作业的要求在哪里 C语言I作业08
    我在这门课程的目标是 学好C语言为学习以后学习其他的语言做准备
    这个作业在那个具体方面帮助我实现目标 对while循环语句的运用,思考能力等
    参考文献 《C语言程序设计I》,Dev-c++.

    1.PTA实验作业

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

    1.题目内容描述:
    对于给定的正整数N,求它的位数及其各位数字之和。

    1.1.1数据处理.

    • (1).定义了n(求余), count(增量,记入输入的数有多少位),number,sum(求各个位数的和);
    • (2).运用了do-while()循环语句和if()判断语句;
      2.数据处理:
    • (1).循环结构. do{
      n=number%10;
      number=number/10;
      count++;
      sum+=n;
      }while(number!=0);
    • (2).运算处理.n=number%10;number=number/10;count++;sum+=n;

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    -123456 输出数据 输入值为负数
    0 输出数据 输入值为零
    1234567890 输出数据 输入值为正数

    1.1.4 PTA提交列表及说明

    • 根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.

    • 1答案错误:开始不知道如何进行对各个位数求和导致答案错误。后面知道了在do-while内加入sum+=n就对了。

    1.2 jmu-c-二进制转10进制

    1.题目内容描述:
    输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!

    1.2.1数据处理.

    1.数据表达:

    • (1).定义了 n(输入的二进制数),x(求和),i增量, y(求余);
    • (2).运用了while()循环语句和if-else分支结构;
      2.数据处理:
    • (1).循环结构. while (n!=0&&y<=1&&i<=10&&n>=0)
      {
      y=n%10;
      n/=10;
      x+=y*pow(2,i);
      ++i;
      if(i>10)
      break;
      }
    • (2).分支结构. if(y>1||n<0||i>10)
      {
      printf("error input!");
      }
      else
      {
      printf("%d",x);
      }
    • (3).运算处理. y=n%10;n/=10;x+=y*pow(2,i);++i;if(i>10)break;

    1.2.2实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    -111110 输出数据 非二进制数
    111110 输出数据 二进制数
    1234567890 输出数据 非二进制数

    1.2.4 PTA提交列表及说明

    • 根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.

    • 1部分正确:没有考虑到和弄懂负数的二进制;

    • 2部分正确:考虑到了,但不知道错在哪里了。

    2.代码互评

    1同学代码截图

    2同学代码截图

    3自己代码截图

    与第一位同学的区别

    • 1与第一位同学的区别在于她只是把定义的整型分了几行写,看起来麻烦;
    • 2定义的变量较简单,但直观上我的变量容易理解;
      与第二位同学的区别
    • 1与第二位同学的区别在于我运用的是do-while循环语句二她和第一位同学的代码都是用while循环语句,在于他们的代码开始就先判断,我的代码是先运算后判断。

    3.学习总结

    3.1学习进度条

    时间 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周 16个小时 28行 学到了编写代码的基本知识,如:顺序结构 符号(英)与(汉)混淆
    第二周 20个小时 20行 学到了运算符,赋值 主要是赋值,在printf中“="左右要空格其他就不用了
    第三周 23个小时 98行 学到了分支结构(if-else),&&,%,幂运算pow,平方根sqrt 对一些新知识不能马上运用
    第四周 16个小时 70行 学到了for语句,求小数点(要求用1.0来除以···),还有该变正负号知识 现在没问题了,在scanf()内&n&m之间要用“,"
    第五周 26个小时 62行 学到了while循环语句,定义函数和调用函数的运用. 在定义函数后不知道如何运用
    第六周 22个小时 154行 学到了if-else if-else的深入使用、用代码解决数学(函数)问题、如求一个数的个,十,百,千位等,还有求成绩的平均值,龟兔赛跑谁快谁慢 对想表达的意思不能够很好的用代码表达
    第七周 20个小时 136行 学到了switch语句的使用,虽然if-else分支结构可以完全取代switch的语句,但是switch也有它的优势,少量选择比较快捷。 对switch语句中不清楚如何嵌入if-else结构
    第八周 24个小时 98行 熟悉了do-while的运用,和while的运用 对while还不能够熟练的运用

    3.2累计代码行数和博客字数.


    请用思维导图的形式将到目前为止所学的内容进行整理。

    3.3.2学习体会

    **自我感觉从每个礼拜的星期二开始就会很忙碌起来,对于PTA作业感觉有的题想到了思路就很快能够写出来,某些想不出的题目就要花很多时间去弄,自己有没有什么多少课余时间去做题,所以我要规划好我的时间,感觉还是自己的数学没怎么学好,导致不知道思路,所以,要重视C语言与数学之间的联系。

  • 相关阅读:
    eclipse部署
    jsp—eclipse配置
    虚拟路径和虚拟主机
    tomcat配置
    初来乍到K
    【转】https://和http://区别
    【转】编码格式
    【转】如何使用瑞萨E10A调试SH系列不带片内FLASH的单片机
    【转】UML
    软考_系统架构师
  • 原文地址:https://www.cnblogs.com/chenyiAndy/p/11870250.html
Copyright © 2011-2022 走看看