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

    作业头

    这个作业属于哪个课程 C语言程序设计II
    这个作业的要求在哪里 C语言I作业04
    我在这门课程的目标是 学好C语言为学习以后的语言做准备
    这个作业在那个具体方面帮助我实现目标 对for语句的运用,运算细节(求小数),思考能力等
    参考文献 《C语言程序设计I》,《C Primer Plus》,Dev-c++.

    1.PTA实验作业

    1.1求平方与倒数序列的部分和.

    1.题目内容描述:

    • 本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+······+n^2+1/n.

    1.1.1实验代码截图.

    1.1.2数据处理.

    1.数据表达:

    • (1).定义了m,n两个正整数,都是整型,还有双精度浮点型sum(求和)。
    • (2).运用了math.h输出头文件,用了scanf()函数,for()语句。
      2.数据处理:
    • (1).输入m,n,scanf("%d %d",&m, &n).
    • (2).循环条件for(m=m;m<=n;m++).
    • (3).运算处理sum=sum+pow(m,2)+1.0/m.
    • (4).输出函数printf("sum = %lf",sum).

    1.1.3 造测试数据.

    输入数据 输出数据 说明
    2 8 204.717857 m,n<10均为为正整数
    50 60 33385.200665 m,n<=60均为正整数
    100 200 2358350.700653 m,n<=200均为正整数

    1.1.4PTA提交列表及说明.


    编译错误:开始时没有考虑到在&m&n之间要用“,”所以导致了编译错误.
    解决方法:查阅书籍发现调用scanf()函数输入多个数据时,需要用“,”分开&n&m等.

    1.2求交错序列前N项和.

    1.题目内容描述:

    • 本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

    1.2.1实验代码截图.

    1.2.2数据处理.

    1.数据表达:

    • (1).定义了flag(用做符号的交替),n(输入的正整数),变量i,都是整型,
    • (2).还有sum(求和),item变量,是双精度浮点型。还用了scanf()函数,for()语句。
      2.数据处理:
    • (1).输入正整数n,scanf("%d",&n).
    • (2).循环条件for(i=1;i <= n;i++).
    • (3).输出函数printf("%.3f",sum).
    • (4).运算处理item=flag(1.0i/(2*i-1));sum=sum+item; flag=-flag.

    1.2.3 造测试数据.

    输入数据 输出数据 说明
    1 1.000 10>n为正整数
    68 0.391 10<n<100为正整数
    168 0.392 100<n<200为正整数
    668 0.393 200<n<1000为正整数
    1086 0.393 1000<n<1100为正整数

    1.2.4PTA提交列表及说明.


    答案错误:做题不认真,我在printf()内输入了Enter sum = %.3f,导致答案错误,
    解决方法:在题目中说明了输出的值只为一个数,后面把Enter sum去掉了,就正确了.

    2.代码互评.

    1.同学代码截图:

    2.同学代码截图:

    3.自己代码截图:

    与第一位同学的区别:

    • 1.在增值方面不同,她的代码是i=i+2,而我的是i++,她的代码在后面的编写中要简单一些,
      易懂,也很简洁,而我的代码在前面(赋值)的编写中要简单一些.
    • 2.在定义上我定义输入的数为numble,而她是N,可见她的要简洁一些,我的易懂一些.
    • 3.还有一个小细节,她在保留六位有效小数是%.6f,这当然没有错,而我的是%lf,都是一个意思.
      与第二位同学的区别:
    • 1.最主要就是在格式说明不同.
    • 2.同学是用%f,而我是用%lf,其实也没有太大的区别,区别是
    • (1) 代表数据类型不同,%f(float)是单精度浮点型,%lf(double)是双精度浮点型.
    • (2) 有效数字位数不同.单精度浮点数有效数字保证6位,部分7位,双精度浮点数有效数字保证15位,部分16位。也就是说双精度浮点型更加准确.
    • (3)所能表示数的范围不同.单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38,双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308.
    • (4).在程序中处理速度不同,一般来说,CPU处理单精度浮点型数要比双精度浮点型数要快. 但读入浮点数用%lf,输出浮点数用%f.
      来自搜索引擎,第二点看不懂

    3.学习总结.

    3.1学习进度条.

    时间 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周 16个小时 28行 学到了编写代码的基本知识,如:顺序结构 符号(英)与(汉)混淆
    第二周 20个小时 20行 学到了运算符,赋值 主要是赋值,在printf中“="左右要空格其他就不用了
    第三周 23个小时 98行 学到了分支结构(if-else),&&,%,幂运算pow,平方根sqrt 对一些新知识不能马上运用
    第四周 16个小时 70行 学到了for语句,求小数点(要求用1.0来除以···),还有该变正负号知识 现在没问题了,在scanf()内&n&m之间要用“,"

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

    3.3学习内容总结和感悟.

    3.3.1学习内容总结.

    本周学习了很多知识如:

    • 1. for() 循环语句、i++、 for(i=1;i<=n;i++) i从1开始循环到小于等于n,其中i++为先赋值i后再加1.
    • 2.flag正负号的转换、 flag = -flag.
    • 3.求精确小数点,在计算机除法中要用有小数点的数除以一个数才能有精确小数点.
    • 4.用计算机可以解决(1). 序列和mˇ2​​+1/m+(m+1)ˇ​2+1/(m+1)+⋯+nˇ​2​​+1/n等等数学求和问题.

    3.3.2学习体会.

    1.感觉每次写PTA作业都是先慢后快的,做每一个题都会有很多需要注意的地方,做完了第一题,后面要注意的也都会注意了.也就是从开时每天晚上写到十一点半到十二点写不出的难受,到后面灵感来了洗一个澡后一下就写出一个题的开心,慢慢地培养了对C的兴趣,感觉自己慢慢地从一个C小白变得越来越懂了,这是我很开心的事情,相信这也是老师为什么要布置这么多作业的原因.
    2.我想对琛哥说的是,求序列 1 + 1/2 + 1/3 + ... 的前N项之和跟求序列 1 + 1/3 + 1/5 + ... 的前N项之和差不多,所以我想这两个题只出一个就行了,再另外出一个有特色的题.

  • 相关阅读:
    使用 python 提取照片中的手机信息
    微信域名拦截检测接口2018版本
    推荐几个Laravel 后台管理系统
    微信小程序实例源码大全
    微信开放平台开发-授权、全网发布(PHP)
    微信公众平台开发者中心安全模式消息体加解密实现
    微信开放平台搭建之EasyWeChat
    详解微信开放平台第三方平台代小程序开发业务基本接口调用逻辑
    EasyWeChat微信开放平台第三方平台接入
    身边小程序:微信门店小程序给代理加盟商的红利有哪些?
  • 原文地址:https://www.cnblogs.com/chenyiAndy/p/11695840.html
Copyright © 2011-2022 走看看