• 第七周作业


    要求一:pta已完成。
    要求二:
    1、求交错序列前N项和

    #include<stdio.h>
    int main()
    {
      int i=1,flag=1,x=1,n;
      double sum=0,item;
      scanf("%d",&n);
      while(i<=n){
        item=flag*i*1.0/x;
        sum=sum+item;
        i=i+1;
        x=2*i-1;
        flag=-flag;
      }
      printf("%.3f",sum);
      return 0;
    }
    

    2.设计思路:
    (1)主要描述题目算法
    第一步:本题要求交错序列前N项和,观察给出的式子,分子和分母都有变化,分子一次加一,分母一次加二,且每增加一个数正负都有变化。
    第二步:先思考如何表示每次变化的值,在不考虑正负的情况下item=i1.0/(2i-1),为了方便循环可以让x=2i-1,然后将其中的相关变量进行定义。
    第三步:将i,x定义成整型函数,item定义成浮点型函数,定义一个变量flag实现正负的交换,让flag=1,还需要定义一个限制量n,使i大于n的时候实现循环的结束。再定义一个输出的和sum。
    第四步:利用while进行循环,循环体内需要进行的式子:item=flagi1.0/x, sum=sum+item;,i=i+1, x=2*i-1, flag=-flag。当i大于n时结束循环
    3.流程图:

    4.本题调试过程碰到问题及解决办法
    这道题在刚开始的时候没有注意到分子也是变化,后来发现分子也在变化,就在如何表示分子上出现了问题,当时就觉得用输入的值n就可以,现在想应该是完全没道理的,因为n的值并不随循环变化,要看输入者输入什么。经过调试发现了问题。

    5.pta提交列表:

    2:统计学生平均成绩及及格人数

    #include<stdio.h>
    int main()
    {
      int i,n,grade,count;
       double  sum,average;
      scanf("%d",&n);
      if(n!=0)
      {
      for(i=1;i<=n;i++)
      {
        scanf("%d",&grade);
        sum=sum+grade;
     if(grade>=60)
        count++;
      } 
      average=sum/n;
      printf("average = %.1f
    ",average);
      printf("count = %d",count);
      }
       else if(n==0){
          printf("average = %.1f
    ",0.0);
      printf("count = %d",0);}
      return 0;
      }
    

    2.设计思路:
    第一步:打出程序框架,定义变量 整型变量i,n,grade,count,浮点型变量sum,average。
    第二步:看题干,要求输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。此过程需要运用if语句进行判断和for语句进行循环。确定好循环框与循环体。
    第三步:用printf输出结果。
    3.流程图:

    4.本题调试过程碰到问题及解决办法

    问题及解决:编译错误,经过检查和重新回忆老师上课讲的,发现在if前没有 进行总的scanf.还有就是嵌套结构的花括号放的有点乱,导致错误,提醒了我每一步都要认真,不遗漏小地方。
    5.pta提交列表:

    要求三:
    我的git地址:https://git.coding.net/zgq459947/EDG.git
    要求四:
    个人总结
    1.本周主要学习了循环结构,其中包括三种语句,分别是:while,do-while,for。三者的区别在于while语句是先判断在执行;do-while语句是先执行一次再判断,即至少执行一次循环语句;for语句最为灵活简洁,一般可以取代while语句。
    2.学习难点就是循环体运算公式的确定和如何控制循环的结束。
    要求五:
    作业互评
    于耀淞:http://www.cnblogs.com/jsjyys/p/7826828.html
    王鑫宇:http://www.cnblogs.com/wxy5336/p/7828100.html
    董欣:http://www.cnblogs.com/dx2017/p/7809786.html
    要求六:学习进度表和折线图

  • 相关阅读:
    高并发时,使用Redis应注意的问题 及 Redis缓存帮助类
    NetCore3.1 如何添加带有JWT Token 验证的Swagger
    CSS 技巧一则 -- 不定宽溢出文本适配滚动
    ROS costmap_2d局部障碍物无法清除和机器人到点摇摆
    ROS OccupancyGrid使用说明
    ROS RVIZ显示点云地图的二维投影
    Linux 文档生成器doxygen
    高翔博士 资源索引
    SLAM中的数学基础 第四篇 李群与李代数2
    shell(8):循环
  • 原文地址:https://www.cnblogs.com/zgq947/p/7856360.html
Copyright © 2020-2023  润新知