C语言I-博客作业04

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业04
我在这个课程的目标是 掌握使用for循环语句实现指定次数的循环程序设计
这个作业在那个具体方面帮助我实现目标 在编写代码中逐渐灵活运用
参考文献 博客作业04作业要求

一、.PTA实验作业

1.1 求奇数分之一序列前N项和

本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输入样例:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。

输入样例:

输出样例:

1.1.1数据处理

  • 数据表达:答题使用了整型int变量n、浮点型double变量sum
  • 数据处理:使用基本的源程序作为框架,用到了for循环语句来运行表达式 sum = sum + 1.0/(2.0*i-1.0);

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    45 sum = 2.885097 大于0
    -1 sum = 0.000000 小于0
    0 sum = 0.000000 等于0

    1.1.4 PTA提交列表及说明

    提交列表说明:

  • 答案错误:一直没找到表达式的错误导致答案一直不对,后面几近波折终于改正了。

    1.2 求交错序列前N项和

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

    输入格式:

    输入在一行中给出一个正整数N。

    输出格式:

    在一行中输出部分和的值,结果保留三位小数。

    输入样例:

    输出样例:

    1.2.1 数据处理

  • 数据表达:本题用到整型int变量i、n以及浮点型变量double变量sum、sign;
  • 数据处理:利用函数的源程序框架,用for循环语句循环表达式: sign = pow(-1, i-1);
    sum = sum +(isign)/(2.0i-1.0);计算出N项和。

    1.2.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    40 sum = 2.826208 大于0
    20 sum = 2.479673 大于0
    -1 sum = 0.000000 小于0
    0 sum = 0. 000000 等于0

    1.1.4 PTA提交列表及说明

  • 编辑错误:分号忘记打了;
  • 答案错误:表达式错了一直写不出,反复运行不同表达式,终于找到问题,输出结果不需要写“sum = ”;

    二、代码互评

    同学(付翔亮)代码截图

    同学(乐树文)代码截图

    我的截图

  • (1)第一份代码(付同学)和第二份代码(乐同学)区别不是很大,由于题目比较简单吧,所以代码也比较单一,稍微的区别就是乐树文同学的代码是sum初始为1,而付翔亮同学代码sum初始为0,付同学的代码要多运行一次,而且他俩答案表达保留小数点后六#位数也稍有区别,付同学是用sum = %f,而乐同学则用sum = %.6f,虽然意思一样,但是大道至简吧;
  • (2)第一份代码与我的代码的区别在于,我写了很多没用的代码,比如开头那个#include<math.h>和后面的int分开用,而且还用double变量设了一个没用的sign,压根没用上;
  • (3)第二份代码与第一份差别不大,所以和我的区别跟第二条分析差不多,总的来说,我的代码最复杂,但是比较方便变化。

    三、学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第七周 10小时 132行 常用的数学函数,if-else语句 函数的运算问题
    第八周 13小时 156行 学会运用for循环语句和知晓DevcC++调试 对于DevcC++还是不大会用

    3.2 累积代码行和博客字数

    时间 博客字数 代码行数
    第五周 464 0
    第六周 1017 50
    第七周 1638 185
    第八周 2533 341

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

  • 本周学习了for循环语句以及运用DevcC++中的调试和编码;
  • for循环语句主要是for那一行,首先for(写循环初始赋值;结束循环条件;循环时的表达式)
  • 另外for循环语句使用没有特定次数,一个程序可以用一个for循环语句,也可以连用几个;
  • 运用DevcC++调试,首先得确定语句没有语法问题,然后再慢慢添加条件逐步调错纠正.

    3.3.2 学习体会

  • 本周学习了for循环,比较上周的if-else语句稍微复杂一点,但问题不大;
  • 主要感受就是作业时间越来越短了,作业要求也在逐步提高,对我们自身的技术含量要求提高了不少;
  • PTA的作业可以事先在C语言的模拟器DevcC++编译没什么问题再复制粘贴过去,可以少很多提交错误,减少作业负担;
  • 我还明白了编写代码的时候啊,不止是单纯的编代码,还得思考如何才能运行出想要的答案,主要是由于作业的难度提升,答案不再单一。

猜你喜欢

转载自www.cnblogs.com/pengjie20199484/p/11699753.html