第七周作业

<一>求交错序列前N项和

#include<stdio.h>
#include<math.h>
int main()
{
    int i,a=1,N;
  float x,n,sum=0.0;
  scanf("%d",&N);
  for(i=1;i<=N;i=i+1)
  { 
    a=a+1;
    x=pow(-1,a);
    n=x*i/(2*i-1);
    sum=sum+n;
    } 
  printf("%.3f",sum);
}

        设计思路:

1.定义变量N(前N项),i,a为整型,定义变量x,n(每一项的值),sum(前N项的和)为浮点型。

2.用for循环语句,当i<=N时结束循环,对n、sum赋值。

3.按照题目要求输出。

       流程图:

 本题调试过程碰到问题及解决办法:无。

<二>统计学生平均成绩及及格人数

#include<stdio.h>
int main()
{
  int N,grade,i;
  int number=0;
  float average=0.0,total;
  scanf("%d",&N);
  for(i=0;i<N;i++)
  {
    scanf("%d",&grade);
    total=total+grade;
    if(grade>=60)
    {
        number=number+1;
    }
  }if(N>0)
  {
  average=total/N;}
  printf("average = %.1f
count = %d",average,number);
  }

         设计思路:

1.定义N(学生人数),grade(学生成绩),number(及格人数)为整数型变量。定义total(学生总成绩),average(学生平均成绩)为浮点型变量。

2.输入N(学生人数),用for循环语句按照N(学生人数)输入成绩。用if语句判断grade是否大于等于60。对total、number、average赋值。

3.按照题目要求输出。

         流程图:

            本题调试过程碰到问题:

           解决办法:答案错误发现自己将成绩低于60分的人数统计出来了,题目要求是统计成绩大于60分的人数,修改之后部分正确,看了错误提示,发现自己没有考虑当学生人数为0的情况,加上if语句判断N是否大于0后,答案正确。

             Git地址:https://coding.net/u/FENGZX/p/PTA/git

            图表:

 

            

           

           个人总结:

                                     本周学习内容:本周复习、练习了三种循环语句。写了老师布置的PTA作业和c题库。

                                       疑点难点:PAT作业越来越难了,对于循环不够熟练,像for语句老是运行超时。

         我点评的人董雅洁:http://www.cnblogs.com/exo123/p/7828105.html

                                      董欣:http://www.cnblogs.com/dx2017/p/7809786.html

                                     李晓静:http://www.cnblogs.com/lixiaojing/p/7814024.html

  

原文地址:https://www.cnblogs.com/fengzx/p/7811151.html