2026年一級計(jì)算機(jī)等級考試經(jīng)典算法編程題集_第1頁
2026年一級計(jì)算機(jī)等級考試經(jīng)典算法編程題集_第2頁
2026年一級計(jì)算機(jī)等級考試經(jīng)典算法編程題集_第3頁
2026年一級計(jì)算機(jī)等級考試經(jīng)典算法編程題集_第4頁
2026年一級計(jì)算機(jī)等級考試經(jīng)典算法編程題集_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

2026年一級計(jì)算機(jī)等級考試經(jīng)典算法編程題集一、循環(huán)結(jié)構(gòu)應(yīng)用題(共3題,每題10分)1.題目:編寫一個程序,輸出1到100之間所有奇數(shù)的平方,并統(tǒng)計(jì)這些奇數(shù)平方的總和。要求:使用`for`循環(huán)實(shí)現(xiàn),輸出格式為“奇數(shù):平方:總和”。2.題目:某班級進(jìn)行期末考試,成績統(tǒng)計(jì)要求如下:輸入10名學(xué)生的成績(0-100之間),計(jì)算平均分,并輸出高于平均分的學(xué)生人數(shù)。要求:使用`while`循環(huán)實(shí)現(xiàn),輸入和輸出需明確提示。3.題目:設(shè)計(jì)一個程序,輸入一個正整數(shù)`n`,輸出9x9乘法表從1到`n`的部分。例如,輸入5,輸出:1x1=12x1=22x2=43x1=33x2=63x3=9...要求:使用嵌套循環(huán)實(shí)現(xiàn)。二、數(shù)組與字符串操作題(共3題,每題10分)1.題目:給定一個包含5個整數(shù)的數(shù)組`arr=[3,7,2,8,5]`,編寫程序:(1)找出數(shù)組中的最大值和最小值;(2)將數(shù)組中的所有元素逆序排列。要求:使用數(shù)組切片和循環(huán)實(shí)現(xiàn)。2.題目:輸入一個字符串,統(tǒng)計(jì)其中英文字母、數(shù)字和空格的數(shù)量。例如,輸入`"Hello123"`,輸出:字母:5數(shù)字:3空格:1要求:使用字符串遍歷和條件判斷實(shí)現(xiàn)。3.題目:將一個字符串中的所有小寫字母轉(zhuǎn)換為大寫字母,其余字符不變。例如,輸入`"Python2026"`,輸出`"PYTHON2026"`。要求:使用字符串方法或循環(huán)實(shí)現(xiàn)。三、函數(shù)與模塊應(yīng)用題(共3題,每題10分)1.題目:編寫一個函數(shù)`factorial(n)`,計(jì)算`n`的階乘(`n`為正整數(shù))。然后調(diào)用該函數(shù)計(jì)算5的階乘,并打印結(jié)果。要求:使用遞歸或循環(huán)實(shí)現(xiàn)。2.題目:設(shè)計(jì)一個函數(shù)`merge_lists(list1,list2)`,將兩個列表合并為一個新列表,其中`list1`在前,`list2`在后。例如,`merge_lists([1,2],[3,4])`輸出`[1,2,3,4]`。要求:使用列表拼接或擴(kuò)展方法實(shí)現(xiàn)。3.題目:創(chuàng)建一個模塊`utils.py`,其中包含一個函數(shù)`is_prime(n)`,判斷`n`是否為素數(shù)(返回`True`或`False`)。然后在主程序中導(dǎo)入該模塊,并測試`is_prime(13)`的結(jié)果。要求:使用`import`語句實(shí)現(xiàn)。四、文件操作與數(shù)據(jù)統(tǒng)計(jì)題(共3題,每題10分)1.題目:編寫程序,讀取文件`data.txt`中的學(xué)生姓名和成績(每行格式:“姓名:分?jǐn)?shù)”),統(tǒng)計(jì)平均分并輸出。假設(shè)`data.txt`內(nèi)容為:Alice:85Bob:92Charlie:78要求:使用文件讀取和字符串分割實(shí)現(xiàn)。2.題目:創(chuàng)建一個程序,輸入一個文件名,統(tǒng)計(jì)該文件中每個單詞出現(xiàn)的次數(shù)(忽略大小寫和標(biāo)點(diǎn)符號)。例如,輸入`"sample.txt"`,其中內(nèi)容為:HelloworldHelloPythonWorldhello輸出:Hello:3world:2Python:1World:1要求:使用文件讀取、正則表達(dá)式和字典實(shí)現(xiàn)。3.題目:將一個文本文件的內(nèi)容按行排序(升序),并保存到新文件`sorted_data.txt`中。假設(shè)原文件`input.txt`內(nèi)容為:bananaappleorange輸出`sorted_data.txt`內(nèi)容為:applebananaorange要求:使用文件讀取、排序和寫入實(shí)現(xiàn)。五、算法設(shè)計(jì)題(共3題,每題10分)1.題目:編寫程序,找出一個無序數(shù)組中的第`k`個最大元素。例如,輸入`[3,1,4,1,5,9,2]`,`k=2`,輸出`4`(即第2個最大元素)。要求:使用排序或堆排序算法實(shí)現(xiàn)。2.題目:實(shí)現(xiàn)一個簡單的通訊錄程序:(1)輸入姓名和電話號碼,存儲到字典中;(2)根據(jù)姓名查詢電話號碼;(3)刪除指定姓名的聯(lián)系人。要求:使用字典和循環(huán)實(shí)現(xiàn)。3.題目:編寫程序,判斷一個字符串是否為回文(正讀反讀相同)。例如,輸入`"madam"`,輸出`True`;輸入`"hello"`,輸出`False`。要求:使用字符串反轉(zhuǎn)或雙指針法實(shí)現(xiàn)。答案與解析一、循環(huán)結(jié)構(gòu)應(yīng)用題1.答案:pythonsum=0foriinrange(1,101):ifi%2!=0:square=i2print(f"奇數(shù):{i}平方:{square}")sum+=squareprint(f"總和:{sum}")解析:使用`range(1,101)`生成1-100的數(shù)字,`ifi%2!=0`判斷奇數(shù),計(jì)算平方并累加到`sum`中。2.答案:pythonsum=0count=0i=1whilei<=10:score=float(input(f"請輸入第{i}名學(xué)生的成績:"))sum+=scoreifscore>sum/10:count+=1i+=1print(f"平均分:{sum/10:.2f}高于平均分的學(xué)生人數(shù):{count}")解析:使用`while`循環(huán)輸入10個成績,計(jì)算總和和平均分,統(tǒng)計(jì)高于平均分的人數(shù)。3.答案:pythonn=int(input("請輸入n的值:"))foriinrange(1,n+1):forjinrange(1,i+1):print(f"{j}x{i}={ij}",end="")print()解析:嵌套循環(huán),外層控制行,內(nèi)層控制列,輸出乘法表。二、數(shù)組與字符串操作題1.答案:pythonarr=[3,7,2,8,5]max_val=max(arr)min_val=min(arr)arr.reverse()print(f"最大值:{max_val}最小值:{min_val}")print(f"逆序數(shù)組:{arr}")解析:使用`max()`和`min()`找最大最小值,`reverse()`逆序數(shù)組。2.答案:pythons=input("請輸入字符串:")letters=0digits=0spaces=0forcharins:ifchar.isalpha():letters+=1elifchar.isdigit():digits+=1elifchar.isspace():spaces+=1print(f"字母:{letters}數(shù)字:{digits}空格:{spaces}")解析:遍歷字符串,使用`isalpha()`、`isdigit()`和`isspace()`統(tǒng)計(jì)各類字符。3.答案:pythons=input("請輸入字符串:")result=s.upper()print(result)解析:使用字符串的`upper()`方法轉(zhuǎn)換為大寫。三、函數(shù)與模塊應(yīng)用題1.答案:pythonfactorial(n)deffactorial(n):ifn==0:return1returnnfactorial(n-1)print(factorial(5))#輸出120解析:遞歸計(jì)算階乘。2.答案:pythonutils.pydefmerge_lists(list1,list2):returnlist1+list2主程序fromutilsimportmerge_listsprint(merge_lists([1,2],[3,4]))#輸出[1,2,3,4]解析:模塊化設(shè)計(jì),`merge_lists`合并列表。3.答案:pythonutils.pydefis_prime(n):ifn<2:returnFalseforiinrange(2,int(n0.5)+1):ifn%i==0:returnFalsereturnTrue主程序fromutilsimportis_primeprint(is_prime(13))#輸出True解析:判斷素數(shù),只需檢查到`sqrt(n)`。四、文件操作與數(shù)據(jù)統(tǒng)計(jì)題1.答案:pythonwithopen("data.txt","r")asf:lines=f.readlines()sum=0count=0forlineinlines:name,score=line.strip().split(":")sum+=float(score)count+=1print(f"平均分:{sum/count:.2f}")解析:讀取文件,分割字符串計(jì)算平均分。2.答案:pythonimportrefromcollectionsimportdefaultdictdefcount_words(filename):withopen(filename,"r")asf:text=f.read().lower()words=re.findall(r"\b\w+\b",text)word_count=defaultdict(int)forwordinwords:word_count[word]+=1forword,countinword_count.items():print(f"{word}:{count}")count_words("sample.txt")解析:使用正則表達(dá)式提取單詞,`defaultdict`統(tǒng)計(jì)頻率。3.答案:pythonwithopen("input.txt","r")asf:lines=sorted(f.readlines())withopen("sorted_data.txt","w")asf:f.writelines(lines)解析:讀取、排序、寫入文件。五、算法設(shè)計(jì)題1.答案:pythondefkth_largest(arr,k):arr.sort(reverse=True)returnarr[k-1]print(kth_largest([3,1,4,1,5,9,2],2))#輸出4解析:排序后取第`k`個元素。2.答案:pythoncontact={}whileTrue:action=input("1.添加2.查詢3.刪除4.退出:")ifaction=="1":name=input("姓名:")phone=input("電話:")contact[name]=phoneelifaction=="2":name=input("查詢姓名:")print(f"{name}的電話:{contact.get(name,'不存在')}")elifaction=="3":name=input("刪除姓名:")conta

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論