第七周作业

#题目7-3:

*代码:

#include <stdio.h>
int main ()
{
    int N,i=1;
    double sum=0;
    scanf("%d",&N);
    while(i<=N){
        if(i%2==0)
        {sum=sum-i/(2.0*i-1.0);}
        else
        {sum=sum+i/(2.0*i-1.0);}
        i=i+1;
   }printf("%.3f",sum);
    return 0;
            
}

*设计思路:
第一步:先仔细阅读题目要求,打好基本框架。

第二步:想到需要循环语句,又看到是交错序列,每个分数前都有规律地变化正负符号,所以我采用了while if 语句,用条件来解决正负变换。

第三步:根据i这个循环变值来当条件,若“i%2==0”,则实行负项,否则实行正项。

第四步:根据题目输出格式的要求,输出sum是保留三位小数,“%。3f”。

第五步:完成编译,运行。

*流程图:

*错误截图:

*遇到的问题及解决方法:

看到这样的的回车结果,答案是1.000,看题目所要的输出结果是0.917,我就知道了应该是精度的关系,将单精度float改为双精度double和while内容中1和2都改为1.0和2.0,在运行编译,就是所要的结果了。

*pta上传截图:
#

#题目7-5“
*代码:

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

*设计思路:

第一步:先仔细阅读题目,打好基本框架。

第二步:定义整数型i和学生人数n以及及格人数count,因为学生的平均成绩可能会出现小数,所以定义双精度函数,学生的总成绩a,学生的成绩b。

第三步:因为每个学生都得和及格线比较,所以我用来for语句来完成循环并完成for语句里的常规代码。倘若有学生成绩高于60分,count便会加上1。

第四步:在最后输出阶段,加上当学生的人数为0人时的情况。

第五步:完成编译,运行。

*流程图:

*错误截图:

*问题以及解决方法:

输入n的值为5时,按下回车键后出现这样的提示,我就知道我在定义n时忘加上了”&“,加上后便正常运行了。

*pta上传截图:

#coding.net上传截图:

 

 

 

*git地址:

https://git.coding.net/lxtyichan/lxthaerbin.git

#*个人总结:

本周循环语句,如while,do while,for,以及break语句,并规范了循环语句的流程图画法,受益匪浅。

*所学难点:pta中一些题用循环语句比较难,如13周PTA作业的编程题中的第三题,在老师的指点下猜搞懂一些。flag的用法。

#表格以及折线图:

 

#评论人的链接:

马天琦:

www.cnblogs.com/simalang/p/7846102.html

李志琦:

http://www.cnblogs.com/100200a/p/7852396.html

林梦:

www.cnblogs.com/lin2580/p/7841437.html

 

posted @ 2017-11-18 19:37  亦蝉1  阅读(199)  评论(2编辑  收藏  举报