版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)編程語言高級應(yīng)用試題PythonJavaC++等2026Python試題(共5題,總分30分)1.(6分)編寫Python代碼,實現(xiàn)一個函數(shù)`find_max_profit`,輸入一個包含股票每日收盤價的列表,返回最大利潤。若利潤為負(fù),則返回0。示例輸入:`[10,7,5,8,11,9]`示例輸出:`6`(在第1天買入,第5天賣出)2.(8分)使用生成器實現(xiàn)一個無限斐波那契數(shù)列生成器`fib_gen`,要求能高效生成任意長度的斐波那契數(shù)列。示例使用:pythong=fib_gen()print(next(g))#輸出0print(next(g))#輸出1print(next(g))#輸出13.(7分)編寫Python代碼,實現(xiàn)一個裝飾器`timeit`,用于測量被裝飾函數(shù)的執(zhí)行時間,并返回執(zhí)行結(jié)果和耗時(精確到小數(shù)點后3位)。示例:python@timeitdeftest_func():importtimetime.sleep(1)return"Done"print(test_func())#輸出"Done"和耗時4.(5分)使用正則表達(dá)式匹配并提取URL中的域名部分。輸入字符串:`"/path?query=123"`,輸出:`""`。5.(4分)編寫Python代碼,實現(xiàn)一個簡單的文件加密/解密工具,使用Caesar密碼(凱撒密碼),密鑰為3。輸入文件`input.txt`,輸出文件`output.txt`,要求支持大小寫字母,其他字符不變。Java試題(共5題,總分30分)1.(6分)編寫Java方法`findMaxProfit`,輸入一個整數(shù)數(shù)組表示股票每日收盤價,返回最大利潤。若利潤為負(fù),返回0。示例輸入:`{10,7,5,8,11,9}`示例輸出:`6`2.(8分)實現(xiàn)一個Java接口`fibonacci`,包含一個抽象方法`generateFibonacci(intn)`,返回一個包含n個斐波那契數(shù)的列表。使用Lambda表達(dá)式實現(xiàn)該接口。示例:javafibonaccif=(n)->{List<Integer>result=newArrayList<>();for(inti=0,a=0,b=1;i<n;i++){result.add(a);inttemp=a+b;a=b;b=temp;}returnresult;};System.out.println(f.generateFibonacci(5));//輸出[0,1,1,2,3]3.(7分)編寫Java代碼,實現(xiàn)一個自定義注解`@Timer`,用于測量被注解方法的執(zhí)行時間,并在控制臺輸出結(jié)果。示例:java@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@interfaceTimer{}publicclassMain{@TimerpublicstaticvoidtestMethod(){try{Thread.sleep(500);}catch(InterruptedExceptione){}}}4.(5分)使用Java的正則表達(dá)式,編寫代碼提取字符串中的所有手機(jī)號碼(假設(shè)格式為`1[3-9]\d{9}`)。示例輸入:`"聯(lián)系方式15987654321"`示例輸出:`[,]`5.(4分)編寫Java代碼,實現(xiàn)一個簡單的AES加密工具,輸入文本和密鑰(16字節(jié)),輸出加密后的Base64字符串。C++試題(共5題,總分30分)1.(6分)編寫C++函數(shù)`maxProfit`,輸入一個整數(shù)數(shù)組表示股票每日收盤價,返回最大利潤。若利潤為負(fù),返回0。示例輸入:`{10,7,5,8,11,9}`示例輸出:`6`2.(8分)實現(xiàn)一個C++生成器類`FibonacciGenerator`,支持按需生成斐波那契數(shù)列。示例使用:cppFibonacciGeneratorfib;cout<<fib.next()<<endl;//輸出0cout<<fib.next()<<endl;//輸出13.(7分)編寫C++代碼,實現(xiàn)一個自定義模板函數(shù)`measureTime`,測量被裝飾函數(shù)的執(zhí)行時間(使用`<chrono>`庫)。示例:cpptemplate<typenameFunc>doublemeasureTime(Funcf){autostart=std::chrono::high_resolution_clock::now();f();autoend=std::chrono::high_resolution_clock::now();returnstd::chrono::duration<double,std::milli>(end-start).count();}doubletime=measureTime([](){std::this_thread::sleep_for(std::chrono::seconds(1));});4.(5分)使用C++正則表達(dá)式,編寫代碼提取字符串中的所有郵箱地址(假設(shè)格式為`\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b`)。示例輸入:`"郵箱:example@,test@"`示例輸出:`{"example@","test@"}`5.(4分)編寫C++代碼,實現(xiàn)一個簡單的RSA加密工具,輸入明文和公鑰(n,e),輸出加密后的密文(使用模冪運(yùn)算)。答案與解析Python答案與解析1.find_max_profitpythondeffind_max_profit(prices):ifnotprices:return0min_price=prices[0]max_profit=0forpriceinprices[1:]:ifprice>min_price:max_profit=max(max_profit,price-min_price)else:min_price=pricereturnmax_profit解析:遍歷列表,記錄最小價格和最大利潤,動態(tài)更新。2.fib_gen生成器pythondeffib_gen():a,b=0,1whileTrue:yieldaa,b=b,a+b解析:使用生成器實現(xiàn)無限序列,`a`和`b`交替更新。3.timeit裝飾器pythonimporttimefromfunctoolsimportwrapsdeftimeit(func):@wraps(func)defwrapper(args,kwargs):start=time.time()result=func(args,kwargs)end=time.time()print(f"耗時:{end-start:.3f}秒")returnresultreturnwrapper解析:使用`time.time()`記錄耗時,裝飾器返回結(jié)果和耗時。4.URL域名提取pythonimportredefextract_domain(url):match=re.search(r'https?://(www\.)?([^/:]+)',url)returnmatch.group(2)ifmatchelse""解析:正則匹配`https?://(www\.)?([^/:]+)`,提取第二組括號內(nèi)容。5.Caesar密碼加密/解密pythondefcaesar_cipher(text,key=3):result=[]forcintext:ifc.isalpha():offset=65ifc.isupper()else97result.append(chr((ord(c)-offset+key)%26+offset))else:result.append(c)return''.join(result)解析:遍歷字符,字母平移`key`位,非字母不變。Java答案與解析1.findMaxProfitjavapublicstaticintfindMaxProfit(int[]prices){if(prices==null||prices.length<2)return0;intmin=prices[0];intprofit=0;for(inti=1;i<prices.length;i++){if(prices[i]>min){profit=Math.max(profit,prices[i]-min);}else{min=prices[i];}}returnprofit;}解析:動態(tài)更新最小價格和最大利潤。2.Fibonacci接口java@FunctionalInterfaceinterfacefibonacci{List<Integer>generateFibonacci(intn);}fibonaccif=(n)->{List<Integer>list=newArrayList<>();inta=0,b=1;for(inti=0;i<n;i++){list.add(a);inttemp=a+b;a=b;b=temp;}returnlist;};解析:使用Lambda表達(dá)式實現(xiàn)斐波那契數(shù)列生成。3.@Timer注解javaimportjava.lang.annotation.;importjava.lang.reflect.Method;importjava.util.;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@interfaceTimer{}publicclassMain{@TimerpublicstaticvoidtestMethod(){try{Thread.sleep(500);}catch(InterruptedExceptione){}}publicstaticvoidmain(String[]args){for(Methodm:Main.class.getDeclaredMethods()){if(m.isAnnotationPresent(Timer.class)){try{longstart=System.currentTimeMillis();m.invoke(null);longend=System.currentTimeMillis();System.out.println(m.getName()+"耗時:"+(end-start)+"ms");}catch(Exceptione){}}}}}解析:反射獲取注解方法并測量耗時。4.手機(jī)號提取javaimportjava.util.regex.;publicclassMain{publicstaticvoidmain(String[]args){Stringinput="聯(lián)系方式15987654321";Patternp=Ppile("1[3-9]\\d{9}");Matcherm=p.matcher(input);while(m.find()){System.out.println(m.group());}}}解析:正則匹配手機(jī)號格式。5.AES加密javaimportjavax.crypto.;importjava.util.Base64;publicclassAESUtil{publicstaticStringencrypt(Stringtext,Stringkey)throwsException{Ciphercipher=Cipher.getInstance("AES");SecretKeySpecsks=newSecretKeySpec(key.getBytes(),"AES");cipher.init(Cipher.ENCRYPT_MODE,sks);byte[]encrypted=cipher.doFinal(text.getBytes());returnBase64.getEncoder().encodeToString(encrypted);}}解析:使用AES加密并Base64編碼。C++答案與解析1.maxProfitcppinclude<vector>usingnamespacestd;intmaxProfit(vector<int>&prices){if(prices.empty())return0;intmin_price=prices[0];intmax_profit=0;for(inti=1;i<prices.size();i++){if(prices[i]>min_price){max_profit=max(max_profit,prices[i]-min_price);}else{min_price=prices[i];}}returnmax_profit;}解析:動態(tài)更新最小價格和最大利潤。2.FibonacciGeneratorcppinclude<vector>classFibonacciGenerator{private:vector<longlong>fib;intindex=0;public:FibonacciGenerator(intn){fib.resize(n);fib[0]=0;if(n>1)fib[1]=1;}longlongnext(){if(index>=fib.size())return-1;if(index==0)returnfib[0];if(index==1)returnfib[1];fib[index]=fib[index-1]+fib[index-2];returnfib[index++];}};解析:預(yù)分配大小并按需生成斐波那契數(shù)。3.measureTimecppinclude<chrono>template<typenameFunc>doublemeasureTime(Funcf){autostart=std::chrono::high_resolution_clock::now();f();autoend=std::chrono::high_resolution_clock::now();returnstd::chrono::duration<double,std::milli>(end-start).count();}intmain(){doubletime=measureTime([](){std::this_thread::sleep_for(std::chrono::seconds(1));});std::cout<<"耗時:"<<time<<"ms\n";return0;}解析:使用`<chrono>`庫測量耗時。4.郵箱提取cppinclude<regex>incl
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 龍口開挖施工方案(3篇)
- PE地埋管道工程施工方案
- 2026年股票投資分析與策略模擬測試題
- 2026年建筑工程施工安全測試題含安全規(guī)范與操作流程
- 2026年及未來5年市場數(shù)據(jù)中國低端防盜門行業(yè)市場全景分析及投資戰(zhàn)略規(guī)劃報告
- 2026年企業(yè)綠色運(yùn)營與ISO14001標(biāo)準(zhǔn)的關(guān)系題集
- 2026年醫(yī)療配送無人機(jī)考試題集精準(zhǔn)送達(dá)生命之藥
- 中國家庭飲用水消費(fèi)升級與產(chǎn)品差異化研究報告
- 中國家居建材行業(yè)數(shù)字化轉(zhuǎn)型與營銷創(chuàng)新分析報告
- 中國咖啡連鎖市場格局與消費(fèi)者偏好研究報告
- 部編人教版 語文 六年級下冊 電子書
- DL-T-5728-2016水電水利工程控制性灌漿施工規(guī)范
- 鋼管支架貝雷梁拆除施工方案
- JJG 365-2008電化學(xué)氧測定儀
- 2024年新安全生產(chǎn)法培訓(xùn)課件
- 卷閘門合同書
- 煤礦運(yùn)輸知識課件
- 人口信息查詢申請表(表格)
- 一年級上冊數(shù)學(xué)期末質(zhì)量分析報告
- 公共視頻監(jiān)控系統(tǒng)運(yùn)營維護(hù)要求
- 教育科學(xué)規(guī)劃課題中期報告 (雙減背景下家校共育策略研究)
評論
0/150
提交評論