zoukankan      html  css  js  c++  java
  • 第七周作业

    一、
    7-1 求1到100的和
    1、实验代码:

    int main()
    {
      int sum=0;
      int i=1;
      while(i<=100)
      {
        sum=sum+i;
        i++;
      }
      printf("sum = %d
    ",sum);
      return 0;
    }
    

    2、设计思路:
    (1)第一步:定义两个整数变量i和sum,令i的初始值为1,sum的初始值为0;
    (2)第二步:采用while循环语句,当变量i满足“i<=100”时,进行sum=sum+i;i++;的循环来计算sum的值;
    (3)第三步:直到i不再满足“i<=100”的条件时,输出对应的sum的值。
    3,、流程图:

    4、PTA提交列表:

    5、本题出现的问题与解决方法:
    错误截图:
    出现的错误:printf输出的格式与题目要求不符。
    解决方法:在printf输入的=前后加上空格。(本题出错在于我审题不细造成的。)
    7-2 求奇数分之一序列前N项和
    1、实验代码:

    int main()
    {
      int N;
      scanf("%d",&N);
      double m,sum=0;
      int i=1;
      while(i<=N)
      {
        m=1.0/(2*i-1);
        sum=sum+m;
        i=i+1;
      }
      printf("sum = %.6f
    ",sum);
      return 0;
    }
    

    2、设计思路:
    (1)第一步:定义一个整形变量N,浮点型变量m,sum;
    (2)第二步:运用到while语句1 + 1/3 + 1/5 + ... 的前N项之和,输入N的值来限制i的取值范围,确定循环的次数;
    (3)第三步:当i<=N时,一直进行sum=sum+m;m=1.0/(2*i-1);i+1;的循环;
    (4)第四步:当i不满足"i<=N"时,输出得到的sum的值,结果保留6位。
    3、流程图:

    4、PTA提交列表:

    5、本题出现的问题与解决方案:
    本题在做的时候未出现问题。
    7-3 求交错序列前N项和
    1、实验代码:

    int main()
    {
      int N,i=1,x=1,y=1,z=1;
      scanf("%d",&N);
      double m,sum=0;
      while(i<=N)
      {
        m=x*z*1.0/y;
        sum=sum+m;
        x=-x;
        z=z+1;
        i=i+1;
        y=y+2;
      }
      printf("%.3lf
    ",sum);
      return 0;
    }
    

    2、设计思路:
    (1)第一步:定义5个整型变量N,i,x,y,z,两个浮点型变量m,sum;
    (2)第二步:运用while语句,来求交错序列前N项和,输入N来限制i的取值范围,确定循环次数;
    (3)第三步:当i<=N时,进行m=xz1.0/y;sum=sum+m;x=-x;z=z+1;i=i+1;y=y+2;的循环;
    (4)第四步:当i不满足“i<=N”时,输出该值下sum所对应的值,结果保留3位。
    3、流程图:

    4、PTA提交列表:

    5、本题出现的问题与解决方案:
    错误截图:
    出现的问题:出现了一个很低级的错误,scanf中忘记加&。
    解决方法:在scanf中加上&,在做题时专注程度不够。
    7-4 找出最小值
    1、实验代码:

    int main()
    {
      int min,n,i,m;
      scanf("%d %d",&n,&m);
      min=m;
      for(i=1;i<n;i++)
      {
        scanf("%d",&m);
        if(min>m)
        min=m;
      }
      printf("min = %d
    ",min);
      return 0;
    }
    

    2、设计思路:
    (1)第一步:定义4个整型变量min,n,i,m,将整型变量n,m输入;
    (2)第二步:将m输入的第一个数据赋给min,给min一个初始值,运用for语句,输入n确定循环次数;
    (3)第三步:当i<=n时,一直循环输入要比较的数据;
    (4)第四步:如果输入的m比min小,则将此时m的值赋给min,直到i不满足“i<n”的条件时,输出的值就最小的,否则,第一个m的值就是最小的。
    3、流程图:

    4、PTA提交列表:

    5、本题出现的问题与解决方案:
    错误截图:
    出现的问题:最后的程序少了一个赋值命令,导致输出的最小值编程了0。
    解决方法:在输出最小值之前加上一个”min=m”命令。
    7-5 统计学生平均成绩与及格人数
    1、实验代码:

    int main()
    {
      int i,N;
      double x=0,grade;
      int count=0;
      scanf("%d",&N);
      for(i=1;i<=N;i++)
      {
        scanf("%lf",&grade);
        if(grade>=60)
        count=count+1;
        x=x+grade;
      }
      if(N==0)
      printf("average = 0.0
    ");
      else
      printf("average = %.1f
    ",x/N);
      printf("count = %d",count);
      return 0;
    }
    

    2、设计思路:
    (1)第一步:定义3个整型变量i,N,count,其中count的初始值为0,两个浮点型变量x,grade,令x的初始值为0;
    (2)第二步:输入N,运用for,if else语句,通过N来确定循环次数;
    (3)第三步:输入浮点型变量grade,判断grade的大小;
    (4)第四步:当N不等于0时,采用for循环语句求得average和count的值,按照题目要求输出所有成绩总和与及格人数,当n等于0时,直接根据题目要求输出average,和count的值。
    3、流程图:

    4、PTA提交列表:

    5、本题出现的问题与解决方案:
    错误截图:
    出现的问题:在DVC++上没有显示出问题,但是在PTA上显示编译错误,出现的问题很低级,用double定义的数,在输入的时候用了“f”而没用“lf”。
    解决方法:将scanf中的“f”改成“lf”。
    二、
    上传coding截图:
    Git地址:https://coding.net/u/c289716425/p/123/git
    三、
    学习内容:
    本周学习了for,do while,while循环语句。虽然它们的结构看似简单,但运用到具体题目中还是有一定难度的,相比while与do while的循环结构而言,for语句较为简单,但是应用起来却并不是很简单。学习难点就是如何用for语句去取代较为复杂的while与do while语句,以及循环体运算公式的确定和如何控制循环的结束。本周的PTA作业相较之前的作业来说难度加大了很多,在完成一些难题的时候不得不向同学请教,洗完我可以通过接下来的练习来解决这个难题。
    四、
    点评作业:
    (1)曹琪:http://www.cnblogs.com/blueblog6/p/7818648.html
    (2)胡俊鲜:http://www.cnblogs.com/123456hjx/p/7823616.html
    (3)何宗彦:http://www.cnblogs.com/hezongyan/p/7812104.html
    五、
    学习进度条与折线图:
    学习进度条:
    折线图:

  • 相关阅读:
    加油站
    UIScrollView控件实现图片轮播
    键值编码 KVC
    键值观察 KVO
    弹出视图集合
    关于Page翻页效果, PageViewConrtoller
    Event Handling Guide for iOS--事件驱动指南
    远程控制
    耳机线控
    ASI框架的使用
  • 原文地址:https://www.cnblogs.com/1999-cyc/p/7823469.html
Copyright © 2011-2022 走看看