《NOIP普及组初赛历年试题及答案阅读题篇.docx》由会员分享,可在线阅读,更多相关《NOIP普及组初赛历年试题及答案阅读题篇.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇阅读程序写结果共4题,每题8分,共计32分阅读程序题是得分的关键,由于不是让你上机去运行程序,所以要一步步地读程序,记录相关变量值的变化情况。由于程序的运行结果只要输出语句才有输出,所以只写出输出语句的结果。有时要找出规律才能写出结果,十分是循环次数多的情况,另外要注意边界值,不能多算一步也不能少算一步。解决这类问题的关键在于能够分析程序的构造以及程序段的功能。常见的有列表法、画流程图法等。完成这类题目的方法和步骤如下:1、从头到尾通读程序,大致把握程序的算法、找出这个题目的即这个程序想干什么。捉住了它,不仅得出答
2、案变得较容易,而且对本人的结果也会比拟有自信心。2、通过给程序分段、理清程序的构造和层次,到达读懂程序的目的。3、阅读程序中十分注意跟踪主要变量的值的变化,能够用列表的方法,了解变量变化和程序的运行结果,注意发现规律。所谓列表法,就是将各变量名作为表头,在程序的执行经过中,将各变量值的变化记录在相应变量的下方。4、根据程序中输出格式的要求,写出运行结果,并带着结果回到程序进行检查。在阅读程序时,要十分注意经过、函数所完成的子任务以及和主程序之间的参数传递关系。在阅读程序中,比拟好的方法是首先阅读主程序,看其需要调用的经过或函数是什么,最后要求输出变量是什么;其次在阅读程序中,将较长的程序分成几
3、个程序段十分注意循环构造、判定构造,阅读理解各程序段的功能以及各程序之间的关联。NOIP2020-1.#includeusingnamespacestd;intmain()当前位置:文档视界NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇当前位置:文档视界NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇NOIP2020-3.#include#includeusingnamespacestd;constintSIZE=100;intmain()intn,i,sum,x,aSIZE;cinn;memset(a,0,sizeof(a);
4、for(i=1;ix;ax+;/循环结束时数组中的值为:a1=1,a2=2,a3=3,a4=2,a5=1,a6=2i=0;sum=0;while(sum=6的时候,循环结束i+;sum+=ai;cout/输出循环结束时i的值不是sum的值return0;输入:1145664332321输出:3NOIP2020-4.#includeusingnamespacestd;intsolve(intn,intm)inti,sum;if(m=1)return1;/递归函数solve(i,m)中m=1时返回函数值为1sum=0;for(i=1;iintmain()intn,m;cinnm;coutusing
5、namespacestd;inta,b,c,d,e,ans;intmain()cinabc;d=a+b;e=b+c;ans=d+e;当前位置:文档视界NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇输入:18输出:6NOIP2021-3.#includeusingnamespacestd;intn,i,j,a100100;intsolve(intx,inty)intu,v;if(x=n)returnaxy;/递归边界:当x=5时,solve(5,y)=a5yu=solve(x+1,y);v=solve(x+1,y+1);if(uv)returnaxy+u;elsereturnaxy+v;/用递归最终求得solve(1,1)=a11+solve(2,2)=2+12=14intmain()当前位置:文档视界NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇当前位置:文档视界NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇elseif(get(i+j)get(ans+j)break;/此循环执行完毕,ans=7for(j=0;jusingnamespacestd;intmain()inta,b;cinab;cout
限制150内