2025年信息素養(yǎng)大賽C++初中組真題+解析附答案_第1頁
2025年信息素養(yǎng)大賽C++初中組真題+解析附答案_第2頁
2025年信息素養(yǎng)大賽C++初中組真題+解析附答案_第3頁
2025年信息素養(yǎng)大賽C++初中組真題+解析附答案_第4頁
2025年信息素養(yǎng)大賽C++初中組真題+解析附答案_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2025年信息素養(yǎng)大賽C++初中組練習(xí)題+解析附答案一、單項(xiàng)選擇題(每題3分,共15分)1.以下關(guān)于C++變量的描述,正確的是()。A.全局變量在所有函數(shù)中都能直接訪問B.局部變量的作用域從聲明開始到所在代碼塊結(jié)束C.未初始化的int型變量默認(rèn)值為0D.變量名可以使用“2025_competition”作為標(biāo)識(shí)符2.執(zhí)行以下代碼后,輸出結(jié)果是()。```cppinta=5,b=3;boolflag=(a>b)||(++a<b);cout<<a<<""<<flag;```A.51B.61C.50D.603.已知數(shù)組`intarr[5]={1,3,5,7,9};`,以下操作不會(huì)導(dǎo)致數(shù)組越界的是()。A.`cout<<arr[5];`B.`arr[-1]=0;`C.`for(inti=0;i<=4;i++)cout<<arr[i];`D.`intp=arr;p[5]=10;`4.以下循環(huán)的執(zhí)行次數(shù)是()。```cppinti=5;while(i>0){if(i%2==0)i/=2;elsei--;}```A.2次B.3次C.4次D.5次5.關(guān)于函數(shù)調(diào)用,以下說法錯(cuò)誤的是()。A.函數(shù)可以沒有返回值(void類型)B.函數(shù)參數(shù)的傳遞默認(rèn)是值傳遞C.函數(shù)名可以與變量名相同D.調(diào)用函數(shù)時(shí),實(shí)參和形參的類型必須完全一致二、程序填空題(每題5分,共10分)1.以下代碼實(shí)現(xiàn)冒泡排序(升序),請(qǐng)補(bǔ)全橫線處的代碼。```cppvoidbubbleSort(intarr[],intn){for(inti=0;i<n-1;i++){boolswapped=false;for(intj=0;______;j++){if(arr[j]>arr[j+1]){swap(arr[j],arr[j+1]);swapped=true;}}if(!swapped)break;}}```2.以下遞歸函數(shù)計(jì)算n的階乘(n≥0),請(qǐng)補(bǔ)全橫線處的代碼。```cppintfactorial(intn){if(______)return1;elsereturnnfactorial(n-1);}```三、編程題(共75分)題目1:圖書借閱統(tǒng)計(jì)(25分)問題描述:某圖書館需統(tǒng)計(jì)圖書借閱情況。輸入n本圖書的ISBN號(hào)(長(zhǎng)度不超過20的字符串),隨后輸入m次借閱記錄(每次記錄為一本圖書的ISBN號(hào))。要求輸出借閱次數(shù)最多的圖書的ISBN號(hào)及次數(shù);若有多個(gè)圖書次數(shù)相同,輸出最早出現(xiàn)(即第一次達(dá)到該次數(shù))的圖書。輸入格式:-第一行包含兩個(gè)整數(shù)n和m(1≤n≤100,1≤m≤500)-接下來n行,每行一個(gè)字符串表示圖書的ISBN號(hào)(無重復(fù))-接下來m行,每行一個(gè)字符串表示一次借閱的ISBN號(hào)(保證在n本圖書中)輸出格式:-輸出一行,包含兩個(gè)元素:借閱次數(shù)最多的ISBN號(hào),以及對(duì)應(yīng)的次數(shù),用空格分隔。樣例輸入:35978-7-121-30821-3978-7-02-015034-3978-7-115-48541-8978-7-121-30821-3978-7-02-015034-3978-7-121-30821-3978-7-115-48541-8978-7-121-30821-3樣例輸出:978-7-121-30821-33題目2:運(yùn)動(dòng)會(huì)積分計(jì)算(50分)問題描述:某學(xué)校運(yùn)動(dòng)會(huì)設(shè)置多個(gè)比賽項(xiàng)目,每個(gè)項(xiàng)目的前5名可獲得積分:第1名5分,第2名3分,第3名2分,第4名1分,第5名0分。輸入n個(gè)班級(jí)(編號(hào)1~n)和m個(gè)項(xiàng)目的成績(jī),要求計(jì)算每個(gè)班級(jí)的總積分,并輸出積分最高的班級(jí)編號(hào);若有多個(gè)班級(jí)積分相同,輸出編號(hào)最小的。輸入格式:-第一行包含兩個(gè)整數(shù)n和m(2≤n≤50,1≤m≤20)-接下來m行,每行包含5個(gè)整數(shù),表示一個(gè)項(xiàng)目的前5名班級(jí)編號(hào)(按名次順序排列,即第1個(gè)是第1名,第5個(gè)是第5名)輸入樣例:53135243214555312輸出樣例:3樣例解釋:-項(xiàng)目1積分:1班5分,3班3分,5班2分,2班1分,4班0分-項(xiàng)目2積分:3班5分,2班3分,1班2分,4班1分,5班0分-項(xiàng)目3積分:5班5分(第1名),5班再得5分(第2名?不,每個(gè)項(xiàng)目前5名是不同名次,輸入樣例第三行應(yīng)為“53312”可能筆誤,假設(shè)正確輸入為“53124”,則項(xiàng)目3積分:5班5分,3班3分,1班2分,2班1分,4班0分??偡e分:1班5+2+2=9,3班3+5+3=11,5班2+0+5=7,2班1+3+1=5,4班0+1+0=1,故3班最高。解析與答案一、單項(xiàng)選擇題解析1.答案:B解析:全局變量若被局部變量同名覆蓋時(shí)無法直接訪問(A錯(cuò)誤);未初始化的局部int變量值不確定(C錯(cuò)誤);變量名不能以數(shù)字開頭(D錯(cuò)誤);局部變量作用域是聲明到代碼塊結(jié)束(B正確)。2.答案:A解析:邏輯或(||)具有短路特性,當(dāng)?shù)谝粋€(gè)條件(a>b)為真時(shí),第二個(gè)條件(++a<b)不會(huì)執(zhí)行,因此a仍為5,flag為1(A正確)。3.答案:C解析:數(shù)組索引范圍0~4(共5個(gè)元素)。A訪問arr[5]越界;B訪問arr[-1]越界;D通過指針訪問p[5]等價(jià)于arr[5],越界;C的循環(huán)條件i<=4即i=0~4,正確(C正確)。4.答案:B解析:循環(huán)過程:i=5(第1次循環(huán),i是奇數(shù),i--→4)→i=4(第2次循環(huán),i是偶數(shù),i/2→2)→i=2(第3次循環(huán),i是偶數(shù),i/2→1)→i=1(第4次循環(huán)?不,i=1>0進(jìn)入循環(huán),i是奇數(shù),i--→0,循環(huán)結(jié)束。實(shí)際執(zhí)行次數(shù):i=5(第1次)、i=4(第2次)、i=2(第3次)、i=1(第4次)?需重新計(jì)算:初始i=5,進(jìn)入循環(huán)(第1次):i=5是奇數(shù)→i=4;i=4>0,進(jìn)入循環(huán)(第2次):i=4是偶數(shù)→i=2;i=2>0,進(jìn)入循環(huán)(第3次):i=2是偶數(shù)→i=1;i=1>0,進(jìn)入循環(huán)(第4次):i=1是奇數(shù)→i=0;此時(shí)i=0不滿足i>0,循環(huán)結(jié)束。共執(zhí)行4次?但原題選項(xiàng)無4次?可能我計(jì)算錯(cuò)誤。原題選項(xiàng)C是4次,正確。(注:可能原題設(shè)計(jì)時(shí)循環(huán)次數(shù)為3次,需重新檢查:i=5→4(1次),i=4→2(2次),i=2→1(3次),i=1→0(4次),循環(huán)條件i>0,所以當(dāng)i=0時(shí)退出,共執(zhí)行4次,選C。)5.答案:D解析:實(shí)參和形參類型可以隱式轉(zhuǎn)換(如int和double),D錯(cuò)誤;其他選項(xiàng)均正確。二、程序填空題解析1.答案:j<n-i-1解析:冒泡排序每輪將最大的元素“冒”到末尾,因此內(nèi)層循環(huán)的上限是n-i-1(第i輪后,最后i個(gè)元素已有序)。2.答案:n==0||n==1解析:階乘的遞歸終止條件是n=0或n=1(0!=1,1!=1)。三、編程題解析與代碼題目1:圖書借閱統(tǒng)計(jì)解題思路:1.存儲(chǔ)所有圖書的ISBN號(hào)(可用數(shù)組或vector)。2.統(tǒng)計(jì)每本圖書的借閱次數(shù):遍歷m次借閱記錄,用一個(gè)數(shù)組count記錄每本圖書的次數(shù)(索引與ISBN數(shù)組對(duì)應(yīng))。3.遍歷count數(shù)組,找到最大值及對(duì)應(yīng)的第一個(gè)出現(xiàn)的ISBN。代碼實(shí)現(xiàn):```cppinclude<iostream>include<string>include<vector>usingnamespacestd;intmain(){intn,m;cin>>n>>m;vector<string>isbns(n);for(inti=0;i<n;i++){cin>>isbns[i];}vector<int>count(n,0);//初始化為0for(inti=0;i<m;i++){strings;cin>>s;//找到s在isbns中的位置for(intj=0;j<n;j++){if(isbns[j]==s){count[j]++;break;//找到后跳出,避免重復(fù)}}}intmax_cnt=-1,idx=0;for(inti=0;i<n;i++){if(count[i]>max_cnt){max_cnt=count[i];idx=i;}}cout<<isbns[idx]<<""<<max_cnt<<endl;return0;}```題目2:運(yùn)動(dòng)會(huì)積分計(jì)算解題思路:1.初始化一個(gè)積分?jǐn)?shù)組score[1..n],初始值為0。2.遍歷每個(gè)項(xiàng)目的前5名,按名次對(duì)應(yīng)的積分(5、3、2、1、0)累加到對(duì)應(yīng)班級(jí)的score中。3.遍歷score數(shù)組,找到最大值及對(duì)應(yīng)的最小班級(jí)編號(hào)。代碼實(shí)現(xiàn):```cppinclude<iostream>include<vector>usingnamespacestd;intmain(){intn,m;cin>>n>>m;vector<int>score(n+1,0);//班級(jí)編號(hào)1~n,索引0不用intpoints[]={5,3,2,1,0};//第1~5名的積分for(inti=0;i<m;i++){intrank[5];//存儲(chǔ)當(dāng)前項(xiàng)目的前5名班級(jí)for(intj=0;j<5;j++){cin>>rank[j];}for(intj=0;j<5;j++){intclass_num=rank[j];score[class_num]+=points[j];}}intmax_score=-1,ans=0;for(inti=1;i<=n;i++){if(sco

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論