![NOIP普及組初賽歷年試習(xí)題及答案閱讀題篇_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/a9235633-9d43-443a-834f-d63ee502dc78/a9235633-9d43-443a-834f-d63ee502dc781.gif)
![NOIP普及組初賽歷年試習(xí)題及答案閱讀題篇_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/a9235633-9d43-443a-834f-d63ee502dc78/a9235633-9d43-443a-834f-d63ee502dc782.gif)
![NOIP普及組初賽歷年試習(xí)題及答案閱讀題篇_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/a9235633-9d43-443a-834f-d63ee502dc78/a9235633-9d43-443a-834f-d63ee502dc783.gif)
![NOIP普及組初賽歷年試習(xí)題及答案閱讀題篇_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/a9235633-9d43-443a-834f-d63ee502dc78/a9235633-9d43-443a-834f-d63ee502dc784.gif)
![NOIP普及組初賽歷年試習(xí)題及答案閱讀題篇_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/10/a9235633-9d43-443a-834f-d63ee502dc78/a9235633-9d43-443a-834f-d63ee502dc785.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、NOIP普及組初賽歷年試題及答案閱讀題篇閱讀程序?qū)懡Y(jié)果(共4 題,每題8 分,共計(jì)32 分)閱讀程序題是得分的關(guān)鍵,因?yàn)椴皇亲屇闵蠙C(jī)去運(yùn)行程序,所以要一步步地讀程序,記錄相關(guān)變量值的變化情況。因?yàn)槌绦虻倪\(yùn)行結(jié)果只有輸出語句才有輸出,所以只寫出輸出語句的結(jié)果。有時(shí)要找出規(guī)律才能寫出結(jié)果,特別是循環(huán)次數(shù)多的情況,另外要注意邊界值,不能多算一步也不能少算一步。解決這類問題的關(guān)鍵在于能夠分析程序的結(jié)構(gòu)以及程序段的功能。常見的有列表法、畫流程圖法等。完成這類題目的方法和步驟如下:1、從頭到尾通讀程序,大致把握程序的算法、找出這個(gè)題目的即這個(gè)程序想干什么。抓住了它,不僅得出答案變得較容易,而且對自己的結(jié)果
2、也會比較有信心。2、通過給程序分段、理清程序的結(jié)構(gòu)和層次,達(dá)到讀懂程序的目的。3、閱讀程序中特別注意跟蹤主要變量的值的變化,可以用列表的方法,了解變量變化和程序的運(yùn)行結(jié)果,注意發(fā)現(xiàn)規(guī)律。所謂列表法,就是將各變量名作為表頭,在程序的執(zhí)行過程中,將各變量值的變化記錄在相應(yīng)變量的下方。4、按照程序中輸出格式的要求,寫出運(yùn)行結(jié)果,并帶著結(jié)果回到程序進(jìn)行檢查。在閱讀程序時(shí),要特別注意過程、函數(shù)所完成的子任務(wù)以及和主程序之間的參數(shù)傳遞關(guān)系。在閱讀程序中,比較好的方法是首先閱讀主程序,看其需要調(diào)用的過程或函數(shù)是什么,最后要求輸出變量是什么;其次在閱讀程序中,將較長的程序分成幾個(gè)程序段(特別注意循環(huán)結(jié)構(gòu)、判斷
3、結(jié)構(gòu)),閱讀理解各程序段的功能以及各程序之間的關(guān)聯(lián)。NOIP2011-1.#include<iostream>using namespace std;int main()int i,n,m,ans;cin>>n>>m;i=n;ans=0;while(i<=m)/從i=1020,共循環(huán)計(jì)數(shù)11次ans+=i;/每次循環(huán),ans累加一次 i 值i+;cout<<ans<<endl;/此時(shí)ans值應(yīng)為(10+20)*11/2,即165return 0;輸入: 10 20輸出: 165NOIP2011-2.#in
4、clude<iostream>#include<string>using namespace std;int main()string map= "9"/數(shù)組中元素位置是從0開始計(jì)數(shù)的string tel;int i;cin>>tel;for(i=0;i<tel.length();i+)if(teli>='0') && (teli<='9') )/如果輸入的tel是09,直接輸出tel值cout<<teli;else if( (teli>='A
5、39;) && (teli<='Z')cout<<mapteli-'A'/如果輸入的tel是AZ,則輸出一個(gè)map數(shù)組中對應(yīng)的元素/輸出元素在map數(shù)組中位置為“輸入字母與A的ASCII碼的差值”/如果輸入的是其他字符,比如“-”,則不符合循環(huán)條件,無輸出cout<<endl;return 0;輸入: CCF-NOIP-2011輸出: 011NOIP2011-3.#include<iostream>#include<cstring>using namespace std;const
6、 int SIZE= 100;int main()int n,i,sum,x,aSIZE;cin>>n;memset(a,0,sizeof(a);for(i=1;i<=n;i+)cin>>x;ax+;/循環(huán)結(jié)束時(shí)數(shù)組中的值為:a1=1,a2=2,a3=3,a4=2,a5=1,a6=2i=0;sum=0;while(sum<(n/2+1)/當(dāng)sum值大于等于n/2+1,即sum>=6的時(shí)候,循環(huán)結(jié)束i+;sum+=ai;cout<<i<<endl;/輸出循環(huán)結(jié)束時(shí) i 的值(不是sum的值)return 0;輸入:114 5 6
7、6 4 3 32 3 2 1輸出: 3NOIP2011-4.#include<iostream>using namespace std;int solve(int n,int m)int i,sum;if(m=1) return 1;/遞歸函數(shù)solve(i,m)中m=1時(shí)返回函數(shù)值為1sum=0;for(i=1;i<n;i+)/遞歸函數(shù)solve(i,m)中i=1時(shí)不循環(huán),sum=0sum+= solve(i,m-1);return sum;/可遞歸求得sum=solve(1,3)+(2,3)+(3,3)+(4,3)+(5,3)+(6,3)int main()in
8、t n,m;cin>>n>>m;cout<<solve(n,m)<<endl;/輸出函數(shù)值,即sum值return 0;輸入: 7 4輸出: 20NOIP2012-1.#include<iostream>using namespace std;int a, b, c, d, e, ans;int main()cin>>a>>b>>c;d = a+b;e = b+c;ans = d+e;/ans=a+b+b+ccout<<ans<<endl;return
9、 0;輸入: 1 2 5輸出: 10NOIP2012-2.#include<iostream>using namespace std;int n, i, ans;int main()cin>>n;ans = 0;for (i = 1; i <= n; i+)if (n % i = 0)ans+;/統(tǒng)計(jì)118中18的因數(shù)個(gè)數(shù)cout<<ans<<endl;return 0;輸入: 18輸出: 6NOIP2012-3.#include<iostream>using namespace std;int n, i
10、, j,a100100;int solve(int x,int y)int u, v;if(x = n)return axy;/遞歸邊界:當(dāng)x=5時(shí),solve(5,y)=a5yu= solve(x + 1, y);v= solve(x + 1, y + 1);if(u > v)return axy + u;elsereturn axy + v;/用遞歸最終求得solve(1,1)=a11+solve(2,2)=2+12=14int main()cin>>n;for(i = 1; i <= n; i+)for (j = 1; j <= i; j+)cin>&
11、gt;aij;cout<<solve(1,1)<<endl;return 0;輸入:52-1 42 -1 -2-1 6 4 03 2 -1 5 8輸出: 14NOIP2012-4.#include<iostream>#include<string>using namespace std;int n, ans, i, j;string s;char get(int i)if(i < n)return si;elsereturn si-n;/i<8時(shí),get(i)返回si;i>=8時(shí),get(i)返回si-8,從第一個(gè)開
12、始返回int main()cin>>s;n= s.size();ans= 0;for(i = 1; i <= n-1; i+)for (j = 0; j <= n-1; j+)if (get(i+j) < get(ans+j)ans = i;break;else if (get(i+j) > get(ans+j)break;/此循環(huán)執(zhí)行完畢,ans=7for(j = 0; j <= n-1; j+)cout<<get(ans+j);/1,ans+j<8,輸出s7+0;2,ans+j=8,輸出s8-8;3,ans+j=9,輸出s9-8c
13、out<<endl;return 0;輸入: CBBADADA輸出: ACBBADADNOIP2013-1.#include<iostream>using namespace std;int main()inta, b;cin>>a>>b;cout<<a<<"+"<<b<<"="<<a+b<<endl;return 0;/輸出:3+5=8輸入: 3 5輸出: 3+5=8NOIP2013-2.
14、#include<iostream>using namespace std;int main()int a, b, u, i, num;cin>>a>>b>>u;num = 0;for (i = a; i <= b; i+)if (i % u) = 0)num+;/1-100之間有多少數(shù)是15的倍數(shù)cout<<num<<endl;return 0;輸入: 1 100 15輸出: 6NOIP2013-3.#include<iostream>using namespace s
15、td;int main()const int SIZE = 100;int n, f, i, left, right, middle, aSIZE;cin>>n>>f;for (i = 1; i <= n; i+)cin>>ai;left = 1;right = n;do middle= (left + right) / 2;if(f <= amiddle)right = middle;elseleft = middle + 1;while (left < right);/ middle=6,17>a6,則left=7/ middle
16、=9,17<a9,則right=9/ middle=8,17<a8,則right=8/ middle=7,17=a7,則right=7/ left=right,直接輸出leftcout<<left<<endl;return 0;輸入:12 172 4 6 9 11 15 1718 19 20 21 25輸出: 7NOIP2013-4.#include<iostream>using namespace std;int main()constint SIZE = 100;intheightSIZE, numSIZE, n, ans;cin
17、>>n;for(int i = 0; i < n; i+) cin>>heighti;numi = 1;for (int j = 0; j < i; j+) if (heightj < heighti) && (numj >= numi)numi = numj+1;/兩兩相比,得出num0, num1, num2, num3, num4, num5ans= 0;for(int i = 0; i < n; i+) if (numi > ans) ans = numi;/得出num中最大值,即在數(shù)組height中第幾位數(shù)值
18、最大cout<<ans<<endl;return 0;輸入:62 5 3 11 12 4輸出: 4不懂算法跟蹤變量!列表模擬!遇到遞歸畫樹形圖!注意邊界!找到規(guī)律了還會流程圖恭喜你,32分到手了!NOIP2014-1.#include <iostream>using namespace std;int main()int a, b, c, d, ans;cin>> a >> b >> c;d = a - b; /將a-b=-1賦值給da =
19、d + c; /將d+c=3賦值給aans = a * b; /ans=a*b=3*3=9cout<< "Ans = " << ans << endl;return 0;輸入:2 3 4輸出: Ans=9NOIP2014-2.#include <iostream>using namespace std;int fun(int n)if (n = 1)return 1; /邊界fun(1)=1if (n = 2)return 2; /邊界fun(2)=2return fun(
20、n - 2) - fun(n - 1); /fun(n)=fun(n-2)-fun(n-1)int main()int n;cin >> n;cout << fun(n) << endl;/fun(7)=fun(5)-fun(6)=-11return 0;輸入: 7輸出: -11NOIP2014-3.#include <iostream>#include <string>using namespace std;int main()string st;int i, len;getline(cin, s
21、t);len = st.size();for(i = 0; i < len; i+)if (sti >= 'a' && sti <= 'z')sti = sti - 'a' + 'A' /如果字符串st中字母小寫,則替換成大寫cout<< st << endl;return 0;輸入: Hello, my name is Lostmonkey.輸出: HELLO, MY NAME IS LOSTMONKEY.NOIP2014-4.#include <iost
22、ream>using namespace std;const int SIZE =100;int main()int pSIZE;int n, tot, i, cn;tot= 0;cin>> n;for(i = 1; i <= n; i+)pi = 1; /p1-p30中所有元素賦值1for(i = 2; i <= n; i+)if (pi = 1)tot+; /計(jì)數(shù)cn = i * 2; /找出2-30中所有2iwhile (cn <= n) pcn = 0;cn += i; /找出2-30中所有3i/對2-30中素?cái)?shù)計(jì)數(shù),并輸出個(gè)數(shù)cout<<
23、; tot << endl;return 0;輸入: 30輸出: 10NOIP2015-1.#include <iostream>using namespace std;int main()int a, b, c;a = 1;b = 2;c = 3;if(a > b) /不符合循環(huán)條件,不執(zhí)行if(a > c)cout << a << ' 'elsecout << b << ' 'cout << c << endl;return 0;輸出: 3NOIP20
24、15-2.#include <iostream>using namespace std;struct pointint x;int y; /聲明結(jié)構(gòu)體類型pointint main()int a, b, c;struct EXint a;int b;point c;e; /聲明結(jié)構(gòu)體類型EXe.a = 1; /結(jié)構(gòu)體變量e中變量ae.b = 2; /結(jié)構(gòu)體變量e中變量be.c.x = e.a + e.b;/結(jié)構(gòu)體變量e中的結(jié)構(gòu)體變量c中的變量xe.c.y = e.a * e.b;/結(jié)構(gòu)體變量e中的結(jié)構(gòu)體變量c中的變量ycout << e.c.x <<
25、9;,'<< e.c.y << endl;return 0;輸出: 3,2NOIP2015-3.#include <iostream>#include <string>using namespace std;int main()string str;int i;int count;count = 0;getline(cin, str);for(i = 0; i < str.length();i+)if(stri >= 'a' &&stri <= 'z')count+; /統(tǒng)
26、計(jì)字符串中小寫字母數(shù)量cout << "It has "<< count << " lowercases" << endl;return 0;輸入: NOI2016will be held in Mian Yang.輸出: It has 18 lowercasesNOIP2015-4.#include <iostream>#include <string>using namespace std;void fun(char *a, char *b)a = b;(*a)+; /指針題in
27、t main()char c1, c2, *p1, *p2;c1 = 'A'c2 = 'a'p1 = &c1;p2 = &c2;fun(p1, p2);/p1=p2=&c2,把c2的地址賦值給指針變量p1/p1+,則有&a+1=&b, 所以,c2=b,cout << c1 << c2<< endl;return 0;輸出: AbNOIP2016-1.#include <iostream>using namespace std;int main()int max, min, s
28、um, count = 0;int tmp;cin>> tmp;if(tmp = 0)return0; /如果輸入的數(shù)字是0,程序退出max= min = sum = tmp;count+;while(tmp != 0) cin>> tmp;if(tmp != 0) sum += tmp; /求和count+;/計(jì)數(shù)if(tmp > max)max = tmp; /找出最大值if(tmp < min)min = tmp; /找出最小值cout<< max << "," << min << &
29、quot;,"<< sum / count << endl;/輸出“最大值, 最小值, 平均值”return 0;輸入: 1 2 3 4 5 6 0 7輸出: 6,1,3NOIP2016-2.#include <iostream>using namespace std;int main()int i = 100, x = 0, y = 0;while (i > 0) i-;x = i % 8;if (x = 1)y+; /統(tǒng)計(jì)1-100中有多少數(shù)是“8的倍數(shù)+1”cout << y << endl;retur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋三年級語文上冊 第一單元 第2課 花的學(xué)校說課稿 新人教版
- 2024年春九年級歷史上冊 第22課 科學(xué)和思想的力量說課稿 新人教版
- 6梯形的面積 說課稿-2024-2025學(xué)年人教版數(shù)學(xué)五年級上冊
- 2024-2025學(xué)年高中化學(xué) 第一章 物質(zhì)結(jié)構(gòu)元素周期律 第一節(jié) 元素周期表第1課時(shí)說課稿1 新人教版必修2
- 2024年秋八年級語文上冊 第五單元 名著導(dǎo)讀《昆蟲記》說課稿 新人教版001
- 2024年春七年級地理下冊 第6章 第2節(jié) 自然環(huán)境說課稿2 (新版)新人教版
- 9 烏鴉喝水(說課稿)2024-2025學(xué)年統(tǒng)編版語文一年級上冊001
- 1《植物》科學(xué)閱讀《我們離不開植物》(說課稿)2023-2024學(xué)年一年級上冊科學(xué)教科版001
- 2025個(gè)人購房合同樣本(合同版本)
- Unit2 Bridging Cultures Learning About Language Structures 說課稿-2024-2025學(xué)年高中英語人教版(2019)選擇性必修第二冊
- 2025年?duì)I口職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 七年級歷史下冊第2課唐朝建立與貞觀之治
- 8.3+區(qū)域性國際組織+課件高中政治統(tǒng)編版選擇性必修一當(dāng)代國際政治與經(jīng)濟(jì)
- 2025年國網(wǎng)陜西省電力限公司高校畢業(yè)生招聘1100人(第二批)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《深度學(xué)習(xí)的7種有力策略》
- 遼寧中醫(yī)藥大學(xué)附屬醫(yī)院社會招聘真題
- 2025年潞安化工集團(tuán)招聘筆試參考題庫含答案解析
- 李四光《看看我們的地球》原文閱讀
- 幼兒園一日生活安全課件
- 《認(rèn)罪認(rèn)罰案件被追訴人反悔應(yīng)對機(jī)制研究》
- 多旋翼無人飛行器嵌入式飛控開發(fā)實(shí)戰(zhàn)-基于STM32系列微控制器的代碼實(shí)現(xiàn)
評論
0/150
提交評論