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 | 循环结构 |
0 | 11.10 | 100 | 0 | 无 |
0 | 11.11 | 100 | 0 | 无 |
100 | 11.12 | 0 | 2 | 循环结构 |
200 | 11.13 | 0 | 2 | 循环结构 |
100 | 11.14 | 0 | 2 | 循环结构 |
1000 | 11.15 | 0 | 2 | 循环结构 |
300 | 11.16 | 0 | 2 | 循环结构 |
200 | 11.17 | 0 | 4 | 循环结构 |
0 | 11.18 | 0 | 0 | 循环结构 |
0 | 11.19 | 100 | 0 | 循环结构 |