第七周作业

7-3 求交错序列前N项和

代码

#include<stdio.h>
int main()
{
  int a,c;
  double b;
  scanf("%d",&c);
  for(a=1;a<=c;a++)
  {
    if(a%2==1)
        {
            b=b+a/(2.0*(a-1)+1);
        }
        else if(a%2==0)
        {
            b=b+(-a)/(2.0*a-1);
        }
  }
  printf("%.3lf",b);
  return 0;
}

流程图

步骤

1.定义a,b,c,三个变量,其中a=1,b为单精度变量。

2.输入数值c,判断a是否小于等于c,若a>c,输出b。

3.判断a是否为偶数,若是则b=b+a/(2.0*(a-1)+1),若不是b=b+(-a)/(2.0*a-1)。结束后a+1。

4.判断a是否小于等于c,若a>c,输出b。

遇到的问题

过于纠结正负号问题结果写成a+2,导致四个一循环。

7-5 统计学生平均成绩与及格人数

代码

#include<stdio.h>
int main()
{
    int a,b,c,count=0,sum;
    double average;
    scanf("%d",&a);
    for(c=1;c<=a;c++)
    {
        scanf("
 %d",&b);
        sum=sum+b;
        average=sum/(a*1.0f);
        if(b>=60)
        {
            count=count+1;
        }
    }
    printf("average = %.1f
count = %d",average,count);
    return 0;
}

流程图

步骤

1.定义六个变量,a,b,c,count,sum,average,其中average为单精度变量,c=1,count=0。

2.输入a,判断c是否小于等于a。

3.如果c小于等于a,计算sum和average,判断b是否大于等于60。

4.如果是,count+1,,如果不是,count不变。c+1,继续判断判断c是否小于等于a。

5.如果c大于a,输出count,average。

遇到的问题

写程序时输入写成scanf("%d %d",&a,&b);结果后续不能输入。改正时不小心删除了main。

GIT

git地址:https://git.coding.net/wuyaole/text4.git

本周收获

本周继续对循环结构进行复习,复习了while,do while,for的用法和break,continute。

图表

 

相互评论的地址

胡景文http://www.cnblogs.com/wshjw/p/7857999.html

郭钊毅http://www.cnblogs.com/nothingistrue/p/7858481.html

顾家玮http://www.cnblogs.com/qq807443119/p/7858503.html

原文地址:https://www.cnblogs.com/wsbqz/p/7857944.html