高級程序設(shè)計試題復(fù)試上機_第1頁
高級程序設(shè)計試題復(fù)試上機_第2頁
高級程序設(shè)計試題復(fù)試上機_第3頁
高級程序設(shè)計試題復(fù)試上機_第4頁
高級程序設(shè)計試題復(fù)試上機_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

舉幾個例子,'a’的反碼是'z’;'c’的反碼是'x’;'W’的反碼是'D’;'1’的反碼還是'$'的反碼還是'$'80oJLU-CCST-!QOF-XXHG-usingnamespacestd;intmain(intargc,char*{charstr[80];charc;inti;{intflag=1;{}{str[i]=122-

str[i]=90-}}return}n,計算其十進(jìn)制形式下所有位置數(shù)字之和,并計算其平方的各位數(shù)字之和。n(0<n<40000),n=040431639#include<iostream>usingnamespaceintsumOfDigit(long{intret=while(n!={ret+=n%10;n/=10;}return}int{intwhile(cin>>n&&n!={cout<<sumOfDigit(n)<<'<<sumOfDigit(n*n)<<}return}和。當(dāng)然經(jīng)過n‐1次合并之后,就變成一堆了。在合并水果時總共消耗的體力等于每次合并所耗體1,并且已知水果的種類數(shù)和每種水果的數(shù)目,你的任務(wù)是設(shè)計出合并的次可以先將1,23,耗費體力為3。然后將新堆與原先的第三堆合并得到新的堆,耗費體力為12。所以總共耗費體力=3+12=15,可以證明15為最小的體力耗費值。每組數(shù)據(jù)輸入包括兩行,第一行是一個整數(shù)n(1<=n<=10000),表示水果的種類數(shù),如果n等于0ni(1<=ai<=1000)i2^31。3910usingnamespaceintmain(intargc,char*{intinta[10000];inttemp;inti,j;intt,k;int{{}{

//a[t]temp=a[t-

for(i=0;i<=t-a[t- //a[t-1]}}return}堆棧是一種基本的數(shù)據(jù)結(jié)構(gòu)。堆棧具有兩種基本操作方式,pushpop。Push棧頂,而pop則會將棧頂?shù)闹祻棾觥,F(xiàn)在我們就來驗證一下堆棧的使用。對于每組測試數(shù)據(jù),第一行是一個正整數(shù)n,0<n<=10000(n=0結(jié)束)。而后的n行,每行的第如果是'Opop'A’,表示詢問3AP54PP63usingnamespacestd;intmain(){inti,n,temp;charch;vector<int>v;stack<int>s; fstreamcin("1108.txt");while(cin>>n,n){for{{caseif{}{}case'P':{}case'O':{

if{}}}}

}return}nm(0<=n<=1000)。n,mn0mxy(0<x,yn),xy相連,頂點的編號從1開始計算。輸入不保證這些邊是否重復(fù)。41233120usingnamespaceintintint //節(jié)點被狀voidDFS(int intmain(intargc,char{boolflag;{inti,j,k; {} {}

}return}voidDFS(int{intj;}a,b,c,10000a0小值,mid,max126510201100035-給定一個數(shù)n,1k,k>1,能夠整除n。每行一個整數(shù)n,1<n<10000,n=01Yes,否則輸No。請注意大小寫。0#include"math.h"intmain(){intprintf("pleaseinputanumber:\n");ifprintf("ThisisaFULLprintf("ThisisnotaFULLnumber");}對于一副牌,我們有多種不同的洗牌方式。法是從中間某個位置分成兩半,然后相交換,我們稱之為移位(shift)123456,4561234。這個方式其((n-1)/2flip面shift操作的結(jié)果上進(jìn)行flip結(jié)果就是165234當(dāng)然如果是實際的牌直接翻轉(zhuǎn)會造成正混在一起的,我們就不管那么多了。給定n1n,shiftflip輸入包括多組測試數(shù)據(jù),每組數(shù)據(jù)的第一行包括兩個數(shù)n和k。n,1<n<1000,n0表示輸入結(jié)束,kkx,1<=x<=n,表示從第幾個位shiftflip64016523*作者*來源*來源:2010#includeintint//ncard[i]=while(N--)//shiftfor(i=x+1;i<=n;i}for(i=x;i>=1;i--} card[n-x+i]= x array[i-x]= xarray for(i=1;i<=n;i while(scanf("%d%d",&n,&N)!=EOF&&n!=0) intmain() int #include 結(jié)果 題號:OJ1477: 日期:2013-2-[cpp] for(i=1;i<=n- card[i]= for(i=1,j=n/2;i<j;i++,j-- temp= card[i]= card[j]= for(i=1;i<= printf("%d}}return}在組合數(shù)學(xué)中,我們學(xué)過排列數(shù)。從n個不同元素中取出m(m<=n)個元素的所有排列的個數(shù),叫做從n中取m的排列數(shù),記為p(n,m)。具體計算方法為p(n,m)=n(n-1)(n-2)……(n-m+1)=n!/(n-m)!(規(guī)定0!=1).當(dāng)n和m不是很小時,這個排列數(shù)是比較大的數(shù)值,比如 p(10,5)=30240=(111011000100000)b,也就是說,最后面有5個零。我們的問題就是,給定一個排列數(shù),每行兩個整數(shù),nm,0<m<=n<=10000,n=0p(n,m)的二進(jìn)制表示后面有多少個連續(xù)的零。每個輸出放在一行。106051#include"stdio.h"usingnamespacevectorjiec(intn,int p(n,{vectorintk=n-for(int{intjinwei=0;for(intj=0;j{intt=a[j];a[j]tjinweia[j]=(t*i+jinwei);jinwei=(t*i+jinwei)/10;}return}

if(jinwei> 0{intjiewei=0,count=0;{intp=a.size()-1;intj=p;{}if(jiewei==

t=a[j]=(t+jiewei*10)/2;jiewei=t%2;if(a[p]/2==0)}returnreturn}int{intwhile(cin>>{if(n==0)return0;vectornmj;nmj=intnum=binary(nmj);cout<<num<<endl;}return}1:4高級程序設(shè)計共五道編程題,滿分一百分,其中,1-325,415,510intSum(intn);voidmain(){int{printf("%d}intSum(intn){intsum=0;while(n!=0){sum+=n%10;n/=}return}structNode{intstructNodeintinsert(LinkList*L,int{LinkList*p=L->next,*q,*s;{s=(LinkList*)malloc(sizeof(LinkList));if(p-{}{

while((p->data<x)&&(p-{p=p-}if(p-{}

s-}}return}

{}

p-s-1.#include<iostream.h>#include<stdio.h>#include<stdlib.h>#include<string.h>intcalc(unsignedintn);/*N*/intcount=0;//0int{inti=calc(100);//5000cout<<"0return}intcalc(unsignedintn)/*注意,返回的是第一個非零數(shù)字{constintmax=10000;/*數(shù)組中每個元素的數(shù)據(jù)不超過max*/intarray[5000];/*用該個數(shù)組數(shù)據(jù)*/intarrayNow0;/*標(biāo)記數(shù)組用到了第幾位*/unsignedintnum=1;/*計算階乘用*/intfirst=0;/*用于記錄首個非零數(shù)*/inti,j,temp;intleft;/*進(jìn)位相加數(shù)*/charout[8];if(n<3)/*3*/{return{return-}array[0]=while(num<=n)//{left=0;/*0*/{temparray[i]*(int)num;/*num*/temp+=left;/*加上上一個元素的進(jìn)位*/array[i]temp%max;/*記錄當(dāng)前元素*/left=temp/max;/*記錄進(jìn)位*/if(num==n&&0==first&&array[i]!=0)/*最后一趟乘法時進(jìn)行查找第一個非零數(shù)字{temp=while(0==first)/*找當(dāng)前元素的非零數(shù)字{}}}if(left>0)/*填充新位{array[++arrayNow]=}}for(j=0;j<=n;j++)//0{inta=0,b=array[j];{}}}for(i=arrayNow;i>=0;i--{{return-1;}{}{YES,NO。臨時想的,可能有,自己斟酌。有問題還是要自己解決的嘛,靠別人自己是學(xué)不到東西的滿足條件的字符串:長度為N,字符串的每個字符都是集合S給定n1n,shiftflip輸入包括多組測試數(shù)據(jù),每組數(shù)據(jù)的第一行包括兩個數(shù)n和k。n,1<n<1000,n0表示輸入結(jié)束,kkx,1<=x<=n,表示從第幾個位shiftflip輸入樣例:3/64016523一種可能實現(xiàn)的C#include

溫馨提示

  • 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

提交評論