第七周作业

***PTA***

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

1.实验代码

#include<stdio.h>
int main()
{
    int N,i=1,c;
    float S,n,a,b;
    S=0;
    a=1;b=1,c=1;
    scanf("%d",&N);
    while(i<=N)
    {
        n=a/b;
        S=(float)S+n*c;
        a=a+1.0f;
        b=b+2.0f;
        i++;
        c=c*(-1);
    }
    printf("%.3f",S);
    return 0;
}

2 设计思路

第一步:先定义个每个变量,设定i=1,最后输出的和s=0,分母a=1,分子b=1,每项前的正负符号为c。n=a/b。

第二步:当i<=N时,循环s=s+n*c,每循环一次,a=a+1,b=b+1,c=c*(-1)。

第三步:循环结束,输出最终结果s。

3.流程图

4.问题及解决办法

此题在解决过程中没有遇到问题,好久没遇到的一次过的情况。

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

1.实验代码

#include<stdio.h>
int main()
{
  double average,s;
  int count,N,i,g;
  scanf("%d",&N);
for(i=0,s=0,count=0;i<N;i++)
  {
    scanf("%d",&g);
    if(g>=60)
      {
      count++;
    }
    s=s+g;
    average=s/N;
  }
  printf("average = %.1f
",average);
  printf("count = %d",count);
  return 0;
 } 

2 设计思路

第一步:定义各变量,输入N;i,s,count的初始值都为0。

第二步:当i<N时,输入成绩g,当g>=60时,及格人数count+1。总成绩s=s+g。成绩均值average=s/N。

第三步:输出结果。

3.流程图

4.问题及解决办法

 

我觉得一层的循环结构还是很简单的,这道题和上一道一样,也是一次过。

***git***

地址:https://coding.net/u/kimhae/p/test/git

***学习总结***

对我来说一层的循环语句还是很简单的。如果有好几层循环,就是说循环里有循环的那种代码,我还是要看很长时间,才能看懂。

点评:

http://www.cnblogs.com/jz19990201/p/7857799.html

http://www.cnblogs.com/zgq947/p/7856360.html

http://www.cnblogs.com/jsjyys/p/7826828.html

原文地址:https://www.cnblogs.com/kimhae/p/7856811.html