PTA题目的處理(四)

本文介绍了使用C语言实现两个典型循环结构案例的过程:一是求交错序列前N项和的计算,二是统计学生平均成绩及及格人数。文章详细展示了代码实现、设计思路,并分享了调试经验。

题目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.9200 2循环结构
11.10100
11.11100无 
100 11.120循环结构 
20011.13 循环结构
10011.14 循环结构
100011.15 循环结构
30011.16 循环结构
200 11.17 循环结构
011.18 循环结构
011.19100  循环结构

 

转载于:https://www.cnblogs.com/lixiaojing/p/7814024.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值