freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

最全歷年程序員軟考考試下午真題合集(編輯修改稿)

2025-04-21 03:44 本頁面
 

【文章內(nèi)容簡介】 等于 s[n1],則s不是回文字符串。 (2)如果s[0]等于s[n1],則第二個元素s[1]和倒數(shù)第二個元素s[n2]比較,如果s[1]不等于s[n2],則s不是回文字符串。 (3)依次類推,直到最中間的2個元素也比較完畢(如果s有偶數(shù)個元素),或者只剩下中間的1個元素(如果s有奇數(shù)個元素)。 當上述循環(huán)結束時,如果最中間的元素沒有進行比較,就說明s不是回文字符串,如果進行了比較,則s是回文字符串。 ,pi和pj是2個指向字符的指針,程序首先將s的首地址賦給pi(即 pi=amp。a[0]),將元素s[strlen(s)1)的地址賦給pj(即pj=amp。s[strlen(s)1]),當pi<pj并且pi和pj所指向的字符相等時進行循環(huán):pi自增,pj自減。 退出循環(huán)后,如果pi≥pj,則s是回文字符串(如果s有偶數(shù)個元素,則為pi>pj,如果 s有奇數(shù)個元素,則為pi=pj);如果pi<pj,則s不是回文字符串。 [] ,此函數(shù)對給定的字符串進行從左至右的掃描,找出不包含標志字符的子字符串。 ,i的初值為0,len表示字符串的長度。當i<len時進行循環(huán):如果當前字符是標志字符,則不做處理,繼續(xù)掃描以處理標志字符連成一串的情況。當退出該循環(huán)時,當前字符str[i]不是標志字符,這時開始尋找從str[i]開始,直到標志字符出現(xiàn)的一個子字符串(i保持不變,用j標記尋找的過程),給找到的字符序列置字符串結束標志,以便于后面語句的輸出。 輸出語句結束后,就要繼續(xù)尋找后面的不包含標志字符的子字符串,這時需要把指針 i移動j的后面,繼續(xù)掃描。(1)工程文件擴展名為vbp,窗體文件擴展名為frm,標準模塊文件的擴展名為bas。 (2)按鈕CmdSave的Caption屬性可以這樣設置:保存(amp。S)。 (3)“放大”命令按鈕單擊事件過程程序代碼如下: =*; =*; “縮小”命令按鈕單擊事件過程程序代碼如下: =*; =*; (4)將該單選按鈕的Value屬性值設置成True。 (5)消息框的標題欄顯示“提示”;消息框中有1個出錯標記及2個命令按鈕,分別顯示“確定”和“取消”;消息框中顯示的信息為“非法操作!”。[解析] (1)Visual Basic應用程序可以用4種類型的文件保存。第一類是單獨的窗體文件,擴展名為FRM;第二類是公用的標準模塊文件,擴展名為BAS;第三類是類模塊文件,擴展名為CLS;第四類是工程文件,這種文件由若干個窗體和模塊組成,擴展名為VBP。 (2)對于任何一個控件,只要它有Caption屬性,就可以為其指定訪問鍵。對于一般控件(非菜單項),可以在設計階段通過屬性窗口在Caption屬性中加“amp?!痹O置訪問鍵。訪問鍵只能是一個字符,而且這個字符必須是鍵盤上的某個鍵,否則沒有實際意義。因此,通常用鍵盤上存在的西文字符作為訪問鍵。如果用漢字作為菜單項或控件的標題,則通常把訪問鍵放在標題后面的括號中。 (3)對圖像框的“放大”和“縮小”,可以通過設置它的Height屬性和Width屬性而改變。 (4)為使一個單選按鈕初始時默認被選中,一般是對它的Checked屬性進行設置,把該屬性標記為True。 (5)MsgBox語句的形式為MsgBox Msg$[,type%][,title$][,helpfile,context]。Msg是一個字符串,其內(nèi)容在產(chǎn)生的對話框內(nèi)顯示;type是一個整數(shù)值或符號常量,用來控制在對話框內(nèi)顯示的按鈕、圖標的種類和數(shù)量;title是一個字符串,用來顯示對話框的標題。(1)S>top (2)S>elem[S>top++] (3)S>elem[S>top] (4)n%B (5)n/B[解析] 對于一個棧,首先應對它進行初始化,設置它的容量、棧頂?shù)龋话阌?種做法: (1)top=0。在這種做法下,如果要進行入棧操作,則先將壓人棧的元素值賦給棧頂指針所指向的單元,然后棧頂指針加1;如果要進行出棧操作,則將棧頂指針減1,然后將要出棧的元素彈出棧。 (2)top=1。在這種做法下,如果要進行入棧操作,則首先將棧頂指針加1,然后把壓人棧的元素值賦給棧頂指針所指向的單元;如果要進行出棧操作,則首先將要出棧的元素彈出棧,然后再將棧頂指針減1。 顯然,在本題中使用的是第一種方法。(1)空填寫S>top,使S>top=0。這樣將整數(shù)item壓入棧頂?shù)恼Z句為S->elem[S>top++]=item,即(2)空填寫 S>elem[S>top++)。出棧操作是返回S>elem[S>top)t這是(3)空的答案。 將十進制數(shù)n轉換為二進制數(shù)時,把n除以2的余數(shù)壓入棧,而用n除以2的商代替 n,依次類推,直到n等于0為止。這時,再把棧中的值一一彈出,就可得到二進制數(shù)據(jù)。類似地,把十進制數(shù)n轉換成B進制數(shù)的過程也是如此,一般算法描述為(其中S為棧): do{ n%B入棧; n=n/B; }while(n);(1)Text (2)ListIndex (3)Val() (4) (5)End Select[解析] 組合框(Combo Box)是組合列表框和文本框的特性而成的控件。它的Text屬性值是用戶所選擇的項目的文本或直接從編輯區(qū)輸入的文本。它的ListIndex屬性值為選中條目的編號。 文本框的Text屬性用來設置本框中的顯示的內(nèi)容。 在VB中,情況語句的一般格式為: Select Case測試表達式 Case表達式表列1 [語句塊1] [Case表達式表列2 [語句塊2]] ... [Case Else [語句塊n]] End Select(1)k<len (2)q=q>next (3)pres=Lb (4)prep>next (5)s或pres>next[解析] 本題是在鏈表插入和刪除單個結點的基礎上進行擴展,一次性插入多個結點和刪除多個結點其原理和插入、刪除一個結點的運算是一致的。首先在A鏈表中查找鍵值為key1的結點,使用了下列循環(huán): While(pamp。amp。p>key!=key1) { / * 查找表A中鍵值為key1的結點 * / Prep=p;p=p>next; }因此,當找到鍵值為key1的結點時,p指向該結點,prep指向p的前驅。然后看在p的后面是否有l(wèi)en個結點,使用了下列語句: q=p;k=1; while(qamp。amp。 (1) ) { / * 在表A中找出待刪除的len個結點 * / (2) ;k++; }顯然,首先把q指向p,k為計數(shù)器,所以該循環(huán)的結束條件有2個,一個是p的后面沒有 len個結點,這時q為空,所以(2)空應填寫q=q>next,使q的指針往后移動;另一個是 p的后面有l(wèi)en個結點,這時k=len。所以(1)空應填寫k<len。 根據(jù)上面的語句,如果p的后面有l(wèi)en個結點,則q指向第len個結點。如圖22所示(虛線表示省略了中間若干個結點)。 同樣,在表B中查找鍵值為key2的結點,使用了下列循環(huán): s=Lb>next; (3) ; while(samp。amp。s>key!=key2){ / * 查找表B中鍵值為key2的結點 * / pres=s;s=s>next; }首先,s指向第一個結點,然后進行循環(huán),循環(huán)的結束條件也是2個,要么s為空(這時說明從頭到尾都沒有找到鍵值為key2的結點),要么找到了,s指向該結點,pres指向s的前驅。但是,如果第一個結點的鍵值就是key2的話,根據(jù)循環(huán)條件,循環(huán)中的語句不執(zhí)行,則pres沒有值,所以(3)空應該填寫pres=Lb,使pres始終指向s的前驅。如圖23所示 (虛線表示省略了中間若干個結點)。 最后將p到q的連續(xù)len個結點從A表中刪除,在B表中插入,如圖24所示。 程序中使用的語句如下: (4) =q>next; / * 將表A中的len個結點刪除 * / q>next= (5) ; pres>next=p; / * 將len個結點移至表B * / 要把p到q的連續(xù)len個結點從A表中刪除,就要把p的前驅(prep)的next指向q的next,因此,(4)空應填寫prep>next。然后把q的next指向B表中s,把s的前驅 (pres)的next指向p,所以,(5)空應填寫s。(1)False (2)300 (3)Enabled (4) (5)False[解析] 在VB中,計時器控件主要有Name、Enabled和Interval等屬性。 Name屬性是該計時器的標識符。 Enabled=true表示打開計時器,開始計時;Enabled=false表示關閉計時器,停止計時。 Interval屬性用來設置計時器事件之間的間隔,一般以ms為單位,取值范圍為0~ 65535,因此其最大時間間隔不能超過65s。因為60000ms為1min,如果把Interval屬性設置為1000,則表明每秒鐘發(fā)生一個計時器事件。 ,因此,應該把Interval的屬性值設置為300。在窗體運行時,需要用戶單擊“閃爍”按鈕后才開始閃爍,所以初始化時,計時器的Enabled屬性值應該為False。當用戶單擊“閃爍”按鈕時,計時器的Enabled屬性值應該為True。當用戶單擊“停止”按鈕時,計時器的Enabled屬性值應該為False。(1)employee[j].Id!=Id (2)n=n+1;或者n++;或者++n (3)employee[i].SalaryBASE;或者employee[i].Salary800 (4)k>paylevel[j] (5)kpaylevel[j1][解析] 第一個函數(shù)find(Id,employee[],m),其功能為查找工號為Id的職工在數(shù)組employee中的下標,返回值為0表示沒有。 int find(int Id,Info employee[],int m){ int j; employee[0].Id=Id; for(j=m; (1) ;j); return j; } 顯然,在函數(shù)find()中,首先把要查找的Id賦給數(shù)組的第一個元素,然后循環(huán)從最后一個元素開始查找,所以(1)空應填寫循環(huán)結束的條件??赡苡?種情況,一是在某個記錄中找到了要查的Id(根據(jù)函數(shù)要求,這時要返回Id的職工在數(shù)組employee中的下標),二是找遍整個數(shù)組都沒有找到Id(根據(jù)函數(shù)要求,這時要返回0),但在循環(huán)的前面已經(jīng)設置了哨兵“employee[0].Id=Id”,所以,循環(huán)至多到j=0時就會退出。因此,(1)空應填寫 employee[j].Id !=Id。 然后再分析主函數(shù)的第一段程序。 Info employee[MaxNum+1]; long wage; double sum=0,k,s; int i,j,n=0,code; seanf(“%d%Id”,amp。code,amp。wage); / * 讀入職工號、工資或薪金 * / while(code>O){ i=find(code,employee,n); if(i>0)employee[i].Salary+=wage; else{ (2) ; Employee[n].Id=code;employee[n].Salary=wage } seanf(“%d%Id”,amp。code,amp。wage); } 這里用code代表職工號,wage代表工資。當輸入一個職工的職工號和工資后,就調(diào)用find()函數(shù)查找該職工是否已經(jīng)在cmployee[]中,返回值要么是0(表示該職工的信息是第一次錄入,則需要在employee[]中增加一個元素,并把剛錄入的值記錄到該元素),要么大于0(表示該職工的信息已經(jīng)存入employee[]中,則需要累加該職工的工資收入)。所以,(2)空應填寫n++。 當錄入的code為一個負數(shù)時,上述循環(huán)結束,表示所有職工的數(shù)據(jù)都已經(jīng)錄入完畢。接下來開始計算所得稅。計算方法是:從employee[]中逐個取出職工工資數(shù)據(jù),按照給定的公式計算并輸出該職工的所得稅,同時進行累加,求出整個公司的所得稅。程序段如下: for(i=1;i<=n;i++){ k= (3) ; / * 計算月應納稅所得額 * / s=0; / * 月應納稅額賦初值 * / if(k>0){ for(j=1;j<=9;j++) if( (4) ) / * 月應納稅所得額超過第j級 * / s=s+(paylevel[j]paylevel[j1]) * taxPratel[j1]/100; else{s=s+( (5) ) * taxPratel[j1]/100;break} } printf(“職工%d應繳納的個人所得稅額:%\n”,employee[I].Id,s); sumd+=S, } 在上面的程序段中,顯然,n表示職工總數(shù),s表示當前職工應繳納的稅金,sum表示公司所有職工繳納的總稅金,k表示月應納稅所得額,所以,(3)空應填寫k= employee[i].Salary800。 下面討論所得稅的計算問題。從題目說明中給出的計算公式中可以看出,稅金的計算是采用逐級
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1