第七周作业

7-3前n项和
1插入代码
#include<stdio.h>
int main(){
  int i,N;
  int flag=-1;
  double sum=0;
  scanf("%d",&N);
  for(i=1;i<=N;i++){
    flag=-flag;
    sum=sum+i*1.0/(2*i-1)*flag;
  }
  printf("%0.3f",sum);
  return 0;
}
2设计思路
a:观察题目,可知该题目为加减交错,分子是d=1的等差数列,分母是d=2的等差数列
b:定义相关变量,该题中我用的是for循环,并找到对应公式即:sum=sum+i*1.0/(2*i-1)*flag
c:注意输入输出格式进行编程
3流程图

4问题及解决办法


运行该题时,我在sum运算式中并未1.0,后来询问同学得知整形变量不能与浮点型变量一起运算,应1.0转换成浮点数一同运算
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;
}

2设计思路
a:定义变量i,n,grade,并初始化count
b:使用for循环及条件语句将输入分数分出两种等级,并求出平均值与及格人数
C:根据输入输出格式进行编程
3流程图

4问题及解决办法


由于疏忽,我将第二个输出写错了%d,此处应该用%.1f

7-1提交列表

该题答案错误,原因是我将输出的sum误写错了i

git上传截图

git地址 https://git.coding.net/simalang/pta7.git

学习了有关断点,while,for循环,break语句,及其流程图的相关画法

对我来说,各种知识都了解,但是却不精通,有的时候编程还会卡住,对此我会多加练习,完善自己

点评:1http://www.cnblogs.com/SR1011/p/7853220.html
2http://www.cnblogs.com/lin2580/p/7841437.html
3http://www.cnblogs.com/zxwd/p/7811419.html

posted on 2017-11-17 22:37  司马朗  阅读(190)  评论(10编辑  收藏  举报

导航