zoukankan      html  css  js  c++  java
  • C语言!作业02

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11451
    这个作业的目标 掌握使用for循环语句实现指定次数的循环程序设计
    学号 20209202

    1.PTA实验作业(15分/题)

    从PTA题目集中选出3个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题2分。

    1.1 求简单交错序列前N项和 (15分)

    题目内容描述:本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
    输入格式:
    输入在一行中给出一个正整数N。

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

    1.1.1实验代码截图

    1.1.2数据处理

    介绍实现本题过程中,你的数据表达、数据处理是怎么做的。

    数据表达:所用变量:i,k,N,flag,sum;这些变量的值的来源:N是自定义的,i是每循环一次后在原有的基础上加1,k=1 + 3 * (i - 1),flag=-flag,sum = sum + flag * 1.0
    / k;类型:整型,双精度浮点型。
    数据处理:数据用到的表达式:k=1 + 3 * (i - 1);sum = sum + flag * 1.0 / k;flag=-flag;流程结构:循环结构。

    1.1.3 PTA提交列表及说明


    1.将sum = sum + flag * 1.0 / [1 + 3 * (i - 1)]变换了一下,定义了一个k,并将表达式改成k=1 + 3 * (i - 1);sum = sum + flag * 1.0 / k答案才正确

    1.2 求分数序列前N项和 (15分)

    题目内容描述:本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

         输入格式:
         输入在一行中给出一个正整数N。
    
         输出格式:
         在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
    
         输入样例:
         20
         输出样例:
         32.66
    

    1.2.1 实验代码截图

    1.2.2 数据处理

    介绍实现本题过程中,你的数据表达、数据处理是怎么做的。

    数据表达:所用变量:N,i,a,b,c,d,sum;这些变量的值的来源:N是自定义的,i是每循环一次后在原有的基础上加1,d=b;c=a + d;b=a;a=c;sum=sum + a / b;类型: 整型,双精度浮点型。
    数据处理:数据用到的表达式: d=b;c=a + d;b=a;a=c;sum=sum + a / b;流程结构: 选择结构、循环结构。

    1.2.3 PTA提交列表及说明

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

    2.阅读代码(-5——5分)

    找一份优秀代码,理解代码功能,并讲出你所选代码有点及可以学习的地方。
    来源:https://www.nowcoder.com/ta/acm-solutions?query=&asc=true&order=&page=2
    链接:https://www.nowcoder.com/ta/acm-solutions/review?tpId=20&tqId=11234&query=&asc=true&order=&page=8
    问答题:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
    输入描述
    第一行是测试数据
    输出描述
    对输入的每组数据M和N,用一行输出相应的K。
    输入例子
    1
    7 3
    输出例子
    8

     #include<stdio.h>
     int fun 
     {
         if(m==0||n==1)
             return 1; 
         if(n>m)
             return fun(m,m);
         else
             return fun(m,n-1)+fun(m-n,n);
     }
     int main()
     {
         int T,m,n;
         scanf("%d",&T);
         while(T--)
         {
             scanf("%d%d",&m,&n);
             printf("%d
    ",fun(m,n));
         }
     }
    

    此代码功能:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
    学习的地方:认识了fun函数,C语言中,fun函数是用调用主函数的。它是指用来定义一个函数或是方法,这版样在引用权时可以用fun表示。比如fun(int x,y),
    fun(int x,y) 有上面的出现,必然在主函数里有调它,fun没有其它意思,只是在调时用到这个单词,上面的意思是调用主函数中的数值。if(m0||n1)中
    的“||”表示“或”的意思。while(T--)中,T--是自减运算,是每次T自身减1,while(T--)就是当T自身减到0就退出循环。

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周|日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题
    |--|--|--|--|
    第三周|4天|156|for语句|在综合表达式中,不知道为什么不能用"[ ]"

    3.2 累积代码行和博客字数(5分)

    时间 博客字数 代码行数
    第一周 638 12
    第二周 562 07
    第三周 2058 156


    3.3 学习感悟(5分)
    1.感觉题目越来越难了,要花费更多的时间才能解决,但在通过自己一步一步解决问题的过程中的感觉真的很爽;
    2.在写一些逻辑性比较强的代码时,不要一股脑的去编写,要把思绪理清楚再写;
    3.对for语句越来越熟练了;

  • 相关阅读:
    system.exit(int status)中status值不同时的区别
    Java期末复习——主观题
    JfreeChart 乱码问题处理
    数据结构期末复习——还原二叉树(根据中序和后序遍历输出先序遍历)
    数据结构期末复习——还原二叉树(根据先序和中序遍历输出先序遍历)
    数据结构期末复习——树与二叉树一些知识点
    JavaScript数据结构与算法-队列练习
    JavaScript数据结构与算法-栈练习
    JavaScript数据结构与算法-列表练习
    JavaScript数据结构与算法-数组练习
  • 原文地址:https://www.cnblogs.com/hvhghjjy/p/14269142.html
Copyright © 2011-2022 走看看