第七周作业

7-3

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

2.设计思路:第一步:定义i,N,flag,sum,输入正整数N

                  第二步:设置循环条件,I<=N,且每循环一次N++

                  第三步:循环内计算每项的和,flag控制正负

                  第四步:输出最终和的值

流程图:

3.碰到问题:

遇到问题:在dev上运行正确,在pta上答案错误

解决办法:原来flag忘了定义1这个值,导致结果错误,失去了它的作用

4.

调试多次发现上述错误

7-5

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

设计思路:第一步:定义及格人数count,整数N,及i,grade,sum,average等值,输入整数N

                  第二步:判断N是否为0,不为0则进入循环,条件i<=N

                  第三步:循环内输入学生成绩,求和,求平均值,若grade>=60,则count人数加1

                  第四步:结束循环最终输出average,count

流程图:

3.碰到问题:

碰到问题:输出不了正确答案,无法输入数字

解决办法:仔细看问题,发现在循环之前忘记输入多少个学生整数N了,比较尴尬

4.

基本没有编译错误的情况,总是不注意细节,不符合题目要求

要求四:

 

地址:https://coding.net/u/asdfg145632/p/a7/git

要求五:个人总结:

1.本周学习了用while,do...while,for三种循环语句解决问题,学习了点语句镶套,循环与if语句连用等

2.目前仍存在编码不熟练,以及解题思路不清晰的问题,编码想办法符合题目要求也是难点

要求六:http://www.cnblogs.com/lxT-1234/p/7846271.html

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

http://www.cnblogs.com/shupeng521/p/7845786.html

posted @ 2017-11-18 19:52  关晟强  阅读(332)  评论(2编辑  收藏  举报