第七周作业

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

  1. 实验代码

#include<stdio.h>
int main(){
  int i=1,A=1,B=1,n;
  double sum=0,y;
  scanf("%d",&n);
  while(i<=n){
    y=A*i*1.0/B;
    sum=sum+y;
    i=i+1;
    B=2*i-1;
    A=-A;
  }
  printf("%.3lf",sum);
  return 0;
}
  1. 设计思路

(1)描述:第一步:根据题意观察每项的特点定义分子为A,分母为B,循环次数为i,结果定义为浮点数。
第二部:分子是按递增顺序依次增加,分母以奇数项依次增加,形成计算方法,列出表达式。
第三步:在条件下执行循环,求和输出结果。
(2)流程图:

  1. 本题调试过程碰到问题及解决办法:

问题:没有使和(sum)初始化,数列偶数项符号没在程序中表现。
解决办法:没有初始化:根据错误提示核对后修改;偶数项没表现:询问同学在同学帮助下完成。
PTA提交列表:

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

  1. 实验代码

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

(1)描述:第一步:分析题意,本题要求计算学生平均成绩,需要分类讨论出不同情况。
第二步:定义变量学生序号i,学生人数n,初始化及格人数和总分,根据题目要求使输出的平均值精确到小数点后一位,输入学生人数n。
第三步:需要运用for循环,输入学生成绩,统计出及格人数并且计算出总分,如果学生数为0输出平均值为0,否则按计算平均数公式计算结果。
第四步:按照要求输出格式要求输出成绩均值,及格人数。
(2)流程图:

  1. 本题调试过程碰到问题及解决办法

        问题:第一次做时没有考虑到学生人数为0的情况,输出时没有注意输出格式。
        解决方法:重新考虑题目,重新编译,添加学生人数为0的情况,更改了输出格式。
    

PTA提交列表:

Git地址:
https://git.coding.net/Wrp1/Persistence0.git
coding.net项目的截图:

本周学习内容总结:(1)学习了continue,break语句,并且在课后尝试运用continue,break观察不同输出结果。
(2)学习,复习使用 while, do...while语句,for语句实现循环。
(3) 学习了循环的嵌套最后比较了几种循环。
遇到的问题:
对于老师能听取我们的意见,改变留作业的方式感觉很好,会尽量不断修改完善自己的博客,认真对待作业。
点评同学链接:赵升旗:http://www.cnblogs.com/boke2017boke/
林梦:http://www.cnblogs.com/lin2580/
何宗彦:http://www.cnblogs.com/hezongyan/
学习进度(11.16 12:00~11.18 12:00):

日期 代码行数 时间 博客字数 知识点
11.16 60 120 0 尝试continue,break输出结果比较
11.17 50 120 0 复习while,do...while,for循环语句
11.18 65 120 200 复习while,do...while,for循环语句
折线图:
posted @ 2017-11-19 10:19  Wrp  阅读(178)  评论(3编辑  收藏  举报