第七周作业

第一题

#include <stdio.h>
int main()
{
  int n,m=1;
  double a=0;
  scanf("%d",&n);
  while(n>=m)
  {
    double s=m/(double)(2*m-1);
    if(m%2==0)
    s=-s;
    a=a+s;
    m=m+1;
  }
  printf("%.3lf",a);
}

思路:

第一步:输入项数n

第二步:定义分母与分子,并记录项数

第三步:判断每项的正负

第四步:求和

第五步:判断项数与n的大小

第六步:输出和

第七步:结束

流程图;

问题;

刚开始定义的是float,显示的是结果错误,改用double后才正确。

第二题

#include <stdio.h>
int main()
{
    int a,b=1,c;
    float d=0;
    c=0;
    scanf("%d",&a);
    while(b<=a)
    {
        int n;
        scanf("%d",&n);
        d=d+n;
        if(n>=60)
        c=c+1;
        b=b+1;
    }
    d=d/a;
    if(a==0)
    d=0;
    printf("average = %.1f
",d);
    printf("count = %d",c);
}

思路;

第一步:输入学生人数

第二步:利用循环输入学生成绩

第三步:计算学生成绩之和

第四步:判断学生成绩是否及格,若及格则记录及格人数加1

第五步;结束循环,利用学生成绩总和与人数计算平均成绩

第六步:输出平均成绩,及格人数

第七步;结束

流程图:

错误;刚开始没有在while外面输入一次成绩,循环无法执行

git地址:https://git.coding.net/jike1liuyu/diqizhouzuoye.git

在本周的学习之中我认识到了在循环中要注意判断的使用,若直接在循环中利用判读进行计算可能会导致计算错误,因为循环使得一个数被多次计算。

应该重设一个变量,使得判断计算可以跳出循环后再计算。

难点是循环和判断的混合使用和循环套循环的使用

史泽文;http://www.cnblogs.com/shilcz/p/7856505.html

王廷宇;http://www.cnblogs.com/archeralter/p/7856488.html

王鑫宇;http://www.cnblogs.com/wxy5336/p/7828100.html

原文地址:https://www.cnblogs.com/liuyuly/p/7856624.html