第七周作业

要求二

题目7-3求交错序列前N项和
1,实验代码

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

2,设计思路
(1)题目算法
第一步:观察细读题目知道本题交错序列的式子有规律,分子依次递增,分母依次加二,且分式前的符号有变化。
第二步:定义浮点型函数sum,y,整形函数i,a,b,n,再定义一个变量a实现正负的变换,当i>n时循环结束,再定义一个函数和sum。
第三步:找到每次变化时对应的式子y=a* i * 1.0 / b,b=2*i-1,放到while循环体里。
(2)流程图

3,本题调试过程遇到问题及解决方法
(1)错误截图

(2)遇到问题
这道题是我的思路错误,想复杂化了,没有按照老师讲的做,导致格式错误,后来自己找资料琢磨知道交错序列只需在while循环体里定义a=-a就好了。
4,本题PTA提交列表

题目7-5统计学生平均成绩与及格人数
1,实验代码

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

2,设计思路
(1)题目算法
第一步:本题要求计算学生平均成绩与及格人数,所以定义及格人数count,每个学生成绩grade,学生人数n,和相关变量i,浮点型函数所有成绩的和sum。
第二步:考虑n的值,当n不等于0时用while进行循环,每输入一个成绩进行累加,当成绩大于60时及格人数就加1,当i的值大于所输入的n的值时结束循环,输出average=sum/n,当n等于0时,直接输出平均数为0。
第三步:输出及格人数与平均分。因为n的值不影响及格人数的输出所以及格人数不需进入循环体。
(2)流程图

3,本题调试过程遇到问题及结局解决方法
(1)错误截图

(2)遇到问题
本题定义错误,count为及格人数,所以需要设定初始值,从0开始等有及格的依次往上加。
4,本题PTA提交列表

要求三

1,git地址
https://git.coding.net/MAYUXIN/mayuxin.git
2,截图

要求四

个人总结:
(1)内容总结与收获
本周学习到了用while, do while, for语句分别实现循环,还有break语句,知道了他们对应的流程图画法,还有fabs代表绝对值。
(2)所学难点
刚开始学循环语句感觉发蒙,但是现在题做多了熟练点就好了,在PTA中有几道题感觉读着题目还好理解但是做起来还是有点费劲。

要求五

(1)被点评同学链接
曹琪:http://www.cnblogs.com/blueblog6/p/7818648.html
孙娜:http://www.cnblogs.com/sun-na-/p/7825690.html
孙佳钰:http://www.cnblogs.com/woshisun/p/7834361.html
(2)表格及折线图

posted @ 2017-11-18 11:32  马宇欣  阅读(194)  评论(8编辑  收藏  举报