PTA题目的處理(四)

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

1.实验代码

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

2 设计思路
(1)

第一步:輸入整數N
第二步:整數i=1,浮點數sum=0,浮點數j=0

第三步:若i<=N,則下一步,否則輸出浮點數sum(保留三位小數)

第四步:若i mod 2=0,則浮點數j=-(1.0f*i)/(1.0f*(2*i-1)),否則j=(1.0f*i)/(1.0f*(2*i-1))

第五步:sum=sum+j,i=i+1,跳到第三步

(2)流程图

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

4.本题PTA提交列表

部分正確:把計算j的式子中的i寫成了N

答案錯誤:忘記保留三位小數

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

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

 2 设计思路
(1)

第一步:輸入學生人數整數N
第二步:若N=0,則輸出average = 0回車count = 0,否則下一步

第三步:整數i=1,及格人數整數count=0,所有學生的成績和整數sum=0,平均分浮點數average=0

第四步:若i<=N,則下一步,否則average=(sum*1.0f)/(N*1.0f),輸出average = average(保留一位小數)回車count = count

第五步:輸入一個學生的成績整數grade,sum=sum+grade

第六步:若grade>=60,則count=count+1,

第七步:i=i+1,跳到第四步

(2)流程图

 

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

4.本题PTA提交列表

 多種錯誤:count和average的初始值沒有賦成0,忘記輸出回車

 git地址:https://git.coding.net/MemoriesBook/123.git

個人總結:本週學習了循環結構,處理了與循環有關的各種題目,不過我覺得循環最近出的題目都有一點難度,但也是對自己的一種鍛鍊一種好的提升。

董欣的博客地址:http://www.cnblogs.com/dx2017/p/7809786.html

董雅潔的博客地址:http://www.cnblogs.com/exo123/p/7828105.html

馮子旋的博客地址:http://www.cnblogs.com/fengzx/p/7811151.html

代碼行數 時間 博客字數 時間 涉及的知識點
50  11.9 200  2 循环结构
11.10 100
11.11 100 无 
100  11.12 0 循环结构 
200 11.13  循环结构
100 11.14  循环结构
1000 11.15  循环结构
300 11.16  循环结构
200  11.17  循环结构
0 11.18  循环结构
0 11.19 100   循环结构

 

posted @ 2017-11-11 18:05  這是記憶中的一本書!  阅读(289)  评论(2编辑  收藏  举报