摘要:以下是由希賽網(wǎng)整理的2015年上半年程序員考試上午真題,希望對(duì)備考程序員考試的考生有所幫助。
2015年上半年程序員考試上午真題:
>>>點(diǎn)擊進(jìn)入軟考初級(jí)程序員歷年真題下載
● 閱讀以下說(shuō)明和流程圖,填補(bǔ)流程圖中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
下面流程圖的功能是:在給定的一個(gè)整數(shù)序列中查找最長(zhǎng)的連續(xù)遞增子序列。設(shè)序列存放在數(shù)組 A[1:n](n≥2)中,要求尋找最長(zhǎng)遞增子序列 A[K: K+L-1] (即A[K]<A[K+1]<…<A[K+L-1])。流程圖中,用 Kj 和Lj 分別表示動(dòng)態(tài)子序列的起始下標(biāo)和長(zhǎng)度,最后輸出最長(zhǎng)遞增子序列的起始下標(biāo) K 和長(zhǎng)度 L。
例如,對(duì)于序列 A={1 ,2,4,4 ,5,6,8,9,4,5,8},將輸出K=4, L=5。
【流程圖】
注:循環(huán)開(kāi)始框內(nèi)應(yīng)給出循環(huán)控制變量的初值和終值,默認(rèn)遞增值為1,格式為: 循環(huán)控制變量=初值,終值
● 閱讀以下說(shuō)明和 C 代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
下面的代碼運(yùn)行時(shí),從鍵盤輸入一個(gè)四位數(shù)(各位數(shù)字互不相同,可以有0). 取出組成該四位數(shù)的每一位數(shù),重組成由這四個(gè)數(shù)字構(gòu)成的最大四位數(shù) max4和最小四位數(shù) min4(有0時(shí)為三位數(shù)).計(jì)算 max4與 min4的差值,得到一個(gè)新的四位數(shù)。若該數(shù)不等于 6174, 則重復(fù)以上過(guò)程,直到得到 6174 為止。
例如,輸入 1234,則首先由 4321-1234, 得到 3087;然后由 8730-378,得到 8352;最后由 8532-2358,得到6174。
● 閱讀以下說(shuō)明和 C 代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
對(duì)一個(gè)整數(shù)序列進(jìn)行快速排序的方法是:在待排序的整數(shù)序列中取第一個(gè)數(shù)作為基準(zhǔn)值,然后根據(jù)基準(zhǔn)值進(jìn)行劃分,從而將待排序列劃分為不大于基準(zhǔn)值者(稱為左子序列)和大于基準(zhǔn)值者(稱為右子序列),然后再對(duì)左子序列和右子序列分別進(jìn)行快速排序, 最終得到非遞減的有序序列。
函數(shù) quicksort(int a[],int n)實(shí)現(xiàn)了快速排序,其中,n 個(gè)整數(shù)構(gòu)成的待排序列保存在數(shù)組元素 a[0]-a[n-1]中。
●閱讀以下說(shuō)明和 C 代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
函數(shù) GetListElemPtr(LinkList L,int i)的功能是查找含頭結(jié)點(diǎn)單鏈表的第i個(gè)元素。若找到,則返回指向該結(jié)點(diǎn)的指針,否則返回空指針。
函數(shù)DelListElem(LinkList L,int i,ElemType *e) 的功能是刪除含頭結(jié)點(diǎn)單鏈表的第 i個(gè)元素結(jié)點(diǎn),若成功則返回 SUCCESS ,并由參數(shù)e 帶回被刪除元素的值,否則返回ERROR 。
例如,某含頭結(jié)點(diǎn)單鏈表 L 如圖 4-1 (a) 所示,刪除第 3 個(gè)元素結(jié)點(diǎn)后的單鏈表如 圖 4-1 (b) 所示。
● 閱讀以下說(shuō)明和 C++代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
在股票交易中,股票代理根據(jù)客戶發(fā)出的股票操作指示進(jìn)行股票的買賣操作。其類圖如圖5-1所示,相應(yīng)的c++代碼附后。
● 閱讀以下說(shuō)明和 Java 代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
在股票交易中,股票代理根據(jù)客戶發(fā)出的股票操作指示進(jìn)行股票的買賣操作。其類圖如圖 6-1 所示。相應(yīng)的Java 代碼附后。
【 Java 代碼】
import java.util.ArrayList;
import java.util.List;class Stock {
private String name;
private int quantity;
public Stock(String name ,int quantity) {
this.name = name; this.quantity = quantity;
}
public void buy__(6)__ { System.out.println("[ 買進(jìn)]: " + name + ",數(shù)量. "
+ quantity);}
public void sell__(7)__ { System.out.println("[ 賣出]: " + name + ",數(shù)量. "
+ quantity);}
}
interface Order {
void execute__(8)__;
}
class BuyStock > (1) Order {
private Stock stock;public BuyStock(Stock stock) { >(2) = stock; }
public void execute__(9)__ { stock.buy__(10)__;}
}//類SellStock實(shí)現(xiàn)和BuyStock 類似,略 class Broker {
private List<Order> orderList = new ArrayList<Order>__(11)__;
public void takeOrder(>(3) order) { orderList.add(order); }
public void placeOrders__(12)__ {
for (> (4) order : orderList) { order.execute__(13)__; }
orderList.clear__(14)__;
}
}public class StockCommand {
public static void main(String[] args) {
Stock aStock = new Stock("股票 A" ,10);
Stock bStock = new Stock("股票 B" ,20);Order buyStockOrder = new BuyStock(aStock);
Order sellStockOrder = new SellStock(bStock );Broker broker = new Broker__(15)__;
broker.takeOrder(buyStockOrder);
broker.takeOrder(sellStockOrder);
broker. >(5) ;
}
}
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題