POJ Grids基本練習(xí)題 資料_第1頁(yè)
POJ Grids基本練習(xí)題 資料_第2頁(yè)
POJ Grids基本練習(xí)題 資料_第3頁(yè)
POJ Grids基本練習(xí)題 資料_第4頁(yè)
POJ Grids基本練習(xí)題 資料_第5頁(yè)
已閱讀5頁(yè),還剩88頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、POJ Grids基本練習(xí)題 資料POJ1004 Financial Management- 3 -POJ1664 放蘋果- 5 -POJ2675 計(jì)算書費(fèi)- 7 -POJ2676 整數(shù)的個(gè)數(shù)- 9 -POJ2679 整數(shù)的立方和- 11 -POJ2680 化驗(yàn)診斷- 12 -POJ2684 求階乘的和- 15 -POJ2687 數(shù)組逆序重放- 16 -POJ2688 求字母的個(gè)數(shù)- 17 -POJ2689 大小寫字母互換- 18 -POJ2694 逆波蘭表達(dá)式- 19 -POJ2696 計(jì)算表達(dá)式的值- 20 -POJ2699 自整除數(shù)- 22 -POJ2701 與7無關(guān)的數(shù)- 23 -PO

2、J2702 密碼翻譯- 24 -POJ2703 騎車與走路- 26 -POJ2707 求一元二次方程的根- 27 -POJ2714 求平均年齡- 29 -POJ2715 誰拿了最多的獎(jiǎng)學(xué)金- 30 -POJ2718 晶晶赴約會(huì)- 33 -POJ2719 陶陶摘蘋果- 34 -POJ2720 大象喝水- 35 -POJ2722 學(xué)分績(jī)點(diǎn)- 36 -POJ2733 判斷閏年- 38 -POJ2734 十進(jìn)制到八進(jìn)制- 39 -POJ2750 雞兔同籠- 40 -POJ2753 菲波那契數(shù)列- 41 -POJ2758 菲波那契數(shù)列(2)- 42 -POJ2764 數(shù)根- 43 -POJ2767 簡(jiǎn)單

3、密碼- 45 -POJ2780 Evas Problem- 48 -POJ2786 Pell數(shù)列- 49 -POJ2796數(shù)字求和- 50 -POJ2807兩倍- 51 -POJ 2808校門外的樹- 53 -POJ2856 計(jì)算郵資- 55 -POJ2870 求矩陣的加法- 57 -POJ2871 整數(shù)奇偶排序- 59 -POJ2882 Program I- 61 -POJ2883 checking order- 63 -POJ2886 能被3除盡的數(shù)之和- 65 -POJ2887 能被3、5、7整除的數(shù)- 66 -POJ2888字符串中的數(shù)字- 68 -POJ2926 算數(shù)運(yùn)算- 70 -

4、POJ2927 判斷數(shù)字個(gè)數(shù)- 71 -POJ2930 加減乘除- 73 -POJ2933 停車場(chǎng)收費(fèi)- 75 -POJ2938 按順序輸出- 77 -POJ2943 小白鼠排隊(duì)- 78 -POJ3142 球彈跳高度的計(jì)算- 80 -POJ3164 奇偶排序- 81 -POJ3195 最大公約數(shù)- 82 -POJ3248 最大公約數(shù)- 83 -POJ3255 十進(jìn)制到六進(jìn)制- 85 -POJ3670 計(jì)算鞍點(diǎn)- 87 -POJ3708 1的個(gè)數(shù)- 89 -POJ3756 多邊形內(nèi)角和- 91 -POJ1004 Financial ManagementTime Limit: 1000ms Mem

5、ory limit: 10000kB 題目描述 Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab hold of his financial portfolio and solve his financing problems. The first step is to figure out what's been g

6、oing on with his money. Larry has his bank account statements and wants to see how much money he has. Help Larry by writing a program to take his closing balance from each of the past twelve months and calculate his average account balance. 輸入 The input will be twelve lines. Each line will contain t

7、he closing balance of his bank account for a particular month. Each number will be positive and displayed to the penny. No dollar sign will be included. 輸出 The output will be a single number, the average (mean) of the closing balances for the twelve months. It will be rounded to the nearest penny, p

8、receded immediately by a dollar sign, and followed by the end-of-line. There will be no other spaces or characters in the output. 樣例輸入 100.00489.1212454.121234.10823.05109.205.271542.25839.1883.991295.011.75樣例輸出 $1581.42Global No. 6 思路:這道題就是計(jì)算一下12個(gè)月的平均工資。代碼:#include<iostream>using namespace st

9、d;int main() double a12; int i; for(i=0;i<12;i+) cin>>ai; double sum=0.0; for(i=0;i<12;i+) sum+=ai; double average; average=sum/12; cout<<"$"<<average<<endl; return 0;運(yùn)行結(jié)果:POJ1664 放蘋果Time Limit: 1000ms Memory limit: 65536kB 題目描述 把M個(gè)同樣的蘋果放在N個(gè)同樣的盤子里,允許有的盤子空著不放,問

10、共有多少種不同的分法?(用K表示)5,1,1和1,5,1 是同一種分法。 輸入 第一行是測(cè)試數(shù)據(jù)的數(shù)目t(0 <= t <= 20)。以下每行均包含二個(gè)整數(shù)M和N,以空格分開。1<=M,N<=10。 輸出 對(duì)輸入的每組數(shù)據(jù)M和N,用一行輸出相應(yīng)的K。 樣例輸入 17 3樣例輸出 8Global No. 666 解題思路:所有不同的擺放方法可以分為兩類:至少有一個(gè)盤子空著和所有盤子都不空,分別計(jì)算這兩類擺放方法的數(shù)目,然后把他們加起來。對(duì)于至少空著一個(gè)盤子的情況,則N個(gè)盤子擺放M個(gè)蘋果的方法數(shù)目與N-1個(gè)盤子擺放M個(gè)蘋果的擺放方法數(shù)目等于N個(gè)盤子擺放M-N個(gè)蘋果的擺放方法

11、數(shù)目。據(jù)此來用遞歸的方法求解這個(gè)問題。設(shè)f(m,n)為m個(gè)蘋果,n個(gè)盤子的放法數(shù)目,則先對(duì)n進(jìn)行討論,如果n>m,必有n-m個(gè)盤子空著,去掉他們對(duì)白放蘋果方法數(shù)目不產(chǎn)生影響;即if(n>m),f(m,n)=f(m,m) 當(dāng)n<=m時(shí)不同的放法可以分成兩類:即有至少有一個(gè)盤子空著或者所有盤子都有蘋果,前一種情況相當(dāng)于f(m,n)=f(m,n-1) ;后一種情況可以從每個(gè)盤子中拿掉一個(gè)蘋果,不影響不同放法的數(shù)目,即有f(m,n)=f(m-n,n)??偟姆盘O果的放法數(shù)目等于兩者的和,即f(m,n)=f(m,n-1)+f(m-n,n)。整個(gè)遞歸過程描述如下:int f(int m,i

12、nt n)if(n=1|m=0) return 1;if(m<n) return f(m,m);return f(m,n-1)+f(m-n,n);出口條件說明:當(dāng)n=1時(shí),所有蘋果必須放在一個(gè)盤子里,所以返回1;當(dāng)蘋果可放時(shí),定義1中做法;遞歸的兩條路,第一條n會(huì)逐漸減少,終會(huì)到達(dá)出口“n=1”;第二條m會(huì)逐漸減少,因?yàn)閚>m時(shí)會(huì)返回f(m,m),所以終會(huì)達(dá)到出口“m=0”程序代碼:#include<iostream>using namespace std;int count(int x,int y)if(y=1|x=0) return 1;if(x<y) ret

13、urn count(x,x);return count(x,y-1)+count(x-y,y);int main()int t,m,n;cin>>t;for(int i=0;i<t;i+)cin>>m>>n; cout<<count(m,n)<<endl; while(1); return 0;運(yùn)行結(jié)果:POJ2675 計(jì)算書費(fèi)Time Limit: 1000ms Memory limit: 10000kB 題目描述 下面是一個(gè)圖書的單價(jià)表:計(jì)算概論 28.9 元/本數(shù)據(jù)結(jié)構(gòu)與算法 32.7 元/本數(shù)字邏輯 45.6元/本C+程

14、序設(shè)計(jì)教程 78 元/本人工智能 35 元/本計(jì)算機(jī)體系結(jié)構(gòu) 86.2 元/本編譯原理 27.8元/本操作系統(tǒng) 43 元/本計(jì)算機(jī)網(wǎng)絡(luò) 56 元/本JAVA程序設(shè)計(jì) 65 元/本給定每種圖書購(gòu)買的數(shù)量,編程計(jì)算應(yīng)付的總費(fèi)用。輸入 輸入第一行包含一個(gè)正整數(shù)k(0<k<100),表示有k組測(cè)試數(shù)據(jù);接下來k行,每行包含一組測(cè)試數(shù)據(jù)。每組測(cè)試數(shù)據(jù)包含10個(gè)整數(shù)(大于等于0,小于等于100),分別表示購(gòu)買的計(jì)算概論、數(shù)據(jù)結(jié)構(gòu)與算法、數(shù)字邏輯、C+程序設(shè)計(jì)教程、人工智能、計(jì)算機(jī)體系結(jié)構(gòu)、編譯原理、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、JAVA程序設(shè)計(jì)的數(shù)量(以本為單位)。每?jī)蓚€(gè)整數(shù)用一個(gè)空格分開。 輸出 對(duì)

15、于每組測(cè)試數(shù)據(jù),輸出一行。該行包含一個(gè)浮點(diǎn)數(shù)f,表示應(yīng)付的總費(fèi)用。精確到小數(shù)點(diǎn)后兩位??捎胮rintf("%.2fn", sum)來輸出sum的值,并精確到小數(shù)點(diǎn)后兩位。 樣例輸入 21 5 8 10 5 1 1 2 3 4 3 5 6 3 100 1 1 0 1 0樣例輸出 2140.204427.80Global No. 1677 Source Code:#include<iostream>#include<iomanip>using namespace std;#define M 100int main() int n,i,j,count10;

16、 double price10=28.9,32.7,45.6,78.0,35.0,86.2,27.8,43.0,56.0,65.0; double paid10,sum;cin>>n; for(j=1;j<=n;j+) sum=0; for(i=0;i<10;i+) cin>>counti; paidi=pricei*counti; sum+=paidi; cout<<setiosflags(ios:fixed)<<setprecision(2)<<sum<<endl; return 0; Result:POJ

17、2676 整數(shù)的個(gè)數(shù)Time Limit: 1000ms Memory limit: 65536kB 題目描述 給定k(1<k<100)個(gè)正整數(shù),其中每個(gè)數(shù)都是大于等于1,小于等于10的數(shù)。寫程序計(jì)算給定的k個(gè)正整數(shù)中,1,5和10出現(xiàn)的次數(shù)。 輸入 輸入有兩行:第一行包含一個(gè)正整數(shù)k,第二行包含k個(gè)正整數(shù),每?jī)蓚€(gè)正整數(shù)用一個(gè)空格分開。 輸出 輸出有三行,第一行為1出現(xiàn)的次數(shù),第二行為5出現(xiàn)的次數(shù),第三行為10出現(xiàn)的次數(shù)。 樣例輸入 51 5 8 10 5 樣例輸出 121Global No. 1678 Source Code:#include<iostream>#de

18、fine N 100using namespace std;int main() int k,i,c1=0,c2=0,c3=0; cin>>k; int aN; for(i=0;i<k;i+) cin>>ai; for(i=0;i<k;i+) if(ai=1) c1+; else if(ai=5) c2+; else if(ai=10) c3+; cout<<c1<<endl; cout<<c2<<endl; cout<<c3<<endl; while(1); return 0;Resu

19、lt:POJ2679 整數(shù)的立方和Time Limit: 1000ms Memory limit: 65536kB 題目描述 給定一個(gè)正整數(shù)k(1<k<10),求1到k的立方和m。即m=1+2*2*2+k*k*k。 輸入 輸入只有一行,該行包含一個(gè)正整數(shù)k。 輸出 輸出只有一行,該行包含1到k的立方和。 樣例輸入 5 樣例輸出 225Global No. 1681 Scourse Code:#include<iostream>using namespace std;int main() int n,i=2,sum=1; cin>>n; while(i<

20、=n) sum+=i*i*i; i+; cout<<sum<<endl; return 0; Result:POJ2680化驗(yàn)診斷Time Limit: 1000ms Memory limit: 65536kB 題目描述 下表是進(jìn)行血常規(guī)檢驗(yàn)的正常值參考范圍,及化驗(yàn)值異常的臨床意義:給定一張化驗(yàn)單,判斷其所有指標(biāo)是否正常,如果不正常,統(tǒng)計(jì)有幾項(xiàng)不正常?;?yàn)單上的值必須嚴(yán)格落在正常參考值范圍內(nèi),才算是正常。正常參考值范圍包括邊界,即落在邊界上也算正常。 輸入 輸出 對(duì)于每組測(cè)試數(shù)據(jù),輸出一行。如果所有檢驗(yàn)項(xiàng)目正常,則輸出:normal;否則輸出不正常的項(xiàng)的數(shù)目。 樣例輸入

21、 2female 4.5 4.0 115 37 200male 3.9 3.5 155 36 301樣例輸出 normal3Global No. 1682 Source Code:#include<string>#include<iostream>using namespace std;struct Info string sex; float a,b,c,d,e;int main() Info info101; int n,i,k=0; cin>>n; while(k<n) int countN=0,countI=0; cin>>info

22、i.sex>>infoi.a>>infoi.b>>infoi.c>>infoi.d>>infoi.e; if(infoi.sex="female") if(infoi.a<=10.0 && infoi.a>=4.0) countN+; else countI+; if(infoi.b<=5.5 && infoi.b>=3.5) countN+; else countI+; if(infoi.c<=150 && infoi.c>=11

23、0) countN+; else countI+; if(infoi.d<=40 && infoi.d>=36) countN+; else countI+; if(infoi.e<=300 && infoi.e>=100) countN+; else countI+; if(countN=5) cout<<"normal"<<endl; else cout<<countI<<endl; else if(infoi.a<=10.0 && infoi.

24、a>=4.0) countN+; else countI+; if(infoi.b<=5.5 && infoi.b>=3.5) countN+; else countI+; if(infoi.c<=160 && infoi.c>=120) countN+; else countI+; if(infoi.d<=48 && infoi.d>=42) countN+; else countI+; if(infoi.e<=300 && infoi.e>=100) countN+; el

25、se countI+; if(countN=5) cout<<"normal"<<endl; else cout<<countI<<endl; k+; return 0;Result:POJ2684 求階乘的和Time Limit: 1000ms Memory limit: 65536kB 題目描述 求前n(1<n<12)個(gè)整數(shù)的階乘的和(即求1!+2!+3!+.+n!)。 輸入 輸入有一行:整數(shù)n。 輸出 輸出有一行:階乘得和。 樣例輸入 5樣例輸出 153Global No. 1686 #include<

26、iostream>using namespace std;long int function(int n) long int h; if (n>1) h=n*function(n-1); else h=1; return h; int main() int data,count,sum=0; cin>>data; for(count=1;count<=data;count+) sum+=function(count); cout<<sum<<endl; while(1); return 0;POJ2687數(shù)組逆序重放Time Limit:

27、1000ms Memory limit: 65536kB 題目描述 將一個(gè)數(shù)組中的值按逆序重新存放。例如,原來的順序?yàn)?,6,5,4,1。要求改為1,4,5,6,8。 輸入 輸入為兩行:第一行數(shù)組中元素的個(gè)數(shù)n(1<n<100),第二行是n個(gè)整數(shù),每?jī)蓚€(gè)整數(shù)之間用空格分隔。 輸出 輸出為一行:輸出逆序后數(shù)組的整數(shù),每?jī)蓚€(gè)整數(shù)之間用空格分隔。 樣例輸入 58 6 5 4 1樣例輸出 1 4 5 6 8Global No. 1689 Scourse Code:#include<iostream>#define N 100using namespace std;int mai

28、n() int count,total; cin>>total; int aN; for(count=0;count<total;count+) cin>>acount; for(count=total-1;count>=0;count-) cout<<acount<<" " return 0;POJ2688 求字母的個(gè)數(shù)Time Limit: 1000ms Memory limit: 65536kB 題目描述 在一個(gè)字符串中找出元音字母a,e,i,o,u出現(xiàn)的次數(shù)。 輸入 輸入一行字符串(字符串中可能有空格,請(qǐng)用

29、gets(s)方法把一行字符串輸入到字符數(shù)組s中),字符串長(zhǎng)度小于80個(gè)字符。 輸出 輸出一行,依次輸出a,e,i,o,u在輸入字符串中出現(xiàn)的次數(shù),整數(shù)之間用空格分隔。 樣例輸入 If so, you already have a Google Account. You can sign in on the right.樣例輸出 5 4 3 7 3提示 注意,只統(tǒng)計(jì)小寫元音字母a,e,i,o,u出現(xiàn)的次數(shù)。 Global No. 1690 Scourse Code:#include<iostream>#define N 80using namespace std;int main(

30、) char testN; int counta=0,counte=0,counti=0,counto=0,countu=0; gets(test); int i; for(i=0;i<N && testi!='0'i+) if(testi='a') counta+; else if(testi='e') counte+; else if(testi='i') counti+; else if(testi='o') counto+; else if (testi='u') co

31、untu+; cout<<counta<<" "<<counte<<" "<<counti<<" "<<counto<<" "<<countu<<" "<<endl; return 0;POJ2689 大小寫字母互換Time Limit: 1000ms Memory limit: 65536kB 題目描述 把一個(gè)字符串中所有出現(xiàn)的大寫字母都替換成小寫字母,同時(shí)把小寫

32、字母替換成大寫字母。 輸入 輸入一行:待互換的字符串。 輸出 輸出一行:完成互換的字符串(字符串長(zhǎng)度小于80)。 樣例輸入 If so, you already have a Google Account. You can sign in on the right. 樣例輸出 iF SO, YOU ALREADY HAVE A gOOGLE aCCOUNT. yOU CAN SIGN IN ON THE RIGHT. 提示 由于輸入字符串中有空格,因此應(yīng)該用get(s)把一行字符串讀入到字符數(shù)組s中??捎胮rintf("%sn",s)輸出字符串s。 Global No. 1

33、691 int main()char aM;gets(a);fun(a);while(1); return 0;通過代碼:#include<iostream>#include<string>#define M 80using namespace std;void fun(char a)int i;for(i=0;ai;i+) if(ai>='A') && (ai<='Z') ai+=32;/轉(zhuǎn)化成小寫字母else if(ai>='a') && (ai<='z&

34、#39;) ai-=32;/轉(zhuǎn)化成大寫字母printf("%sn",a);POJ2694逆波蘭表達(dá)式問題描述:逆波蘭表達(dá)式是一種吧運(yùn)算符前置的算術(shù)表達(dá)式,例如普通的表達(dá)式2+3的逆波蘭表示為+23.逆波蘭表達(dá)式的優(yōu)點(diǎn)是運(yùn)算符之間不必有優(yōu)先級(jí)的關(guān)系,也不必有括號(hào)改變運(yùn)算次序,例如(2+3)*4的逆波蘭表示法為*+2 3 4.本題求解的逆波蘭表達(dá)式的值。輸入數(shù)據(jù):輸入為一行,其中運(yùn)算符和運(yùn)算數(shù)之間都用空格分隔,運(yùn)算數(shù)是浮點(diǎn)數(shù)。輸出要求:輸出為一行,即表達(dá)式的值。輸入樣例:* + 11.0 12.0 +24.0 35.0+輸出樣例:1357.000000解題思路:這個(gè)問題看上去有

35、些復(fù)雜,如果只是簡(jiǎn)單地模擬計(jì)算步驟不太容易想清楚,但是如果用遞歸的思想就非常容易想清楚。這里根據(jù)逆波蘭表達(dá)式的定義進(jìn)行遞歸求解。在遞歸函數(shù)中,針對(duì)當(dāng)前的輸入有5種情況:1。輸入是常數(shù),則表達(dá)式的值就是這個(gè)常數(shù);2.輸入的是+,則表達(dá)式的值是再繼續(xù)讀入兩個(gè)表達(dá)式并計(jì)算出他們的值,然后將他們的值進(jìn)行相加;3.輸入-;4.輸入是*;5.輸入是/;后三種情況與2.相同,只是計(jì)算從+變成-,*,/。參考程序:#include<stdio.h>#include<math.h>double exp()char a10;scanf("%s",a);switch(a0

36、)case'+':return exp()+exp();case'-':return exp()-exp(); case'*':return exp()*exp(); case'/':return exp()/exp();default:return atof(a);void main()double ans;ans=exp();printf("%fn",ans);POJ2696 計(jì)算表達(dá)式的值Time Limit: 1000ms Memory limit: 65536kB 題目描述 有些語言中表達(dá)式的運(yùn)算符使

37、用字符串表示,例如用mul代表*,用div代表/,用add代表+,用sub代表-,用mod代表%。 輸入 第一行為表達(dá)式的個(gè)數(shù)n。其余n行每行一個(gè)表達(dá)式,表達(dá)式由兩個(gè)整數(shù)及其中間的運(yùn)算符字符串表示。 輸出 輸出為n行,每行是對(duì)應(yīng)表達(dá)式的值。注意,此處要求的所有運(yùn)算均為整數(shù)運(yùn)算。 樣例輸入 5345 mul 1223945 div 12321 add 343340 sub 211377 mod 27樣例輸出 4209032866412926Global No. 1698 Source Code:#include<iostream>#include<string>using

38、 namespace std;int main() string s; char ss4; int a,b; int i,n; cin>>n; for(i=0;i<n;i+) cin>>a; cin>>ss; s=ss; Result: cin>>b; if(s="add") cout<<a+b<<endl; else if(s="sub") cout<<a-b<<endl; else if(s="mul") cout<<

39、a*b<<endl; else if(s="div") cout<<a/b<<endl; else if(s="mod") cout<<a%b<<endl; return 0; POJ2699自整除數(shù)Time Limit: 1000ms Memory limit: 65536kB 題目描述 對(duì)一個(gè)整數(shù)n,如果其各個(gè)位數(shù)的數(shù)字相加得到的數(shù)m能整除n,則稱n為自整除數(shù).例如21,21%(2+1)=0,所以21是自整除數(shù).現(xiàn)求出從10到n(n<100)之間的所有自整除數(shù). 輸入 有一行,整數(shù)n,

40、(10<=n<100) 輸出 有多行.按從小到大的順序輸出所有大于等于10,小于等于n的自整除數(shù),每行一個(gè)自整除數(shù). 樣例輸入 Source Code:#include<iostream>using namespace std;int main() int n,n1,n2,sum=0,i; cin>>n; for(i=10;i<=n;i+) n1=i%10; n2=i/10; sum=n1+n2; if(i%sum=0) cout<<i<<endl; return 0;47樣例輸出 10121820212427303640424

41、5Global No. 1701 POJ2701 與7無關(guān)的數(shù)Time Limit: 1000ms Memory limit: 65536kB 題目描述 一個(gè)正整數(shù),如果它能被7整除,或者它的十進(jìn)制表示法中某個(gè)位數(shù)上的數(shù)字為7,則稱其為與7相關(guān)的數(shù).現(xiàn)求所有小于等于n(n<100)的與7無關(guān)的正整數(shù)的平方和. 輸入 輸入為一行,正整數(shù)n,(n<100) 輸出 輸出小于等于n的與7無關(guān)的正整數(shù)的平方和 樣例輸入 21樣例輸出 2336Global No. 1703 Scource Code:1. #include<iostream>2. using namespace s

42、td;3. int main()4. 5. int n;6. cin>>n;7. int i,j,sum=0;8. for(i=1;i<=n;i+)9. if(i%7!=0 && i/10!=7 && i%10!=7)10. sum+=i*i;11. cout<<sum<<endl;12. return 0;13. POJ2702密碼翻譯Time Limit: 1000ms Memory limit: 65536kB 題目描述 在情報(bào)傳遞過程中,為了防止情報(bào)被截獲,往往需要對(duì)情報(bào)用一定的方式加密,簡(jiǎn)單的加密算法雖然不足以

43、完全避免情報(bào)被破譯,但仍然能防止情報(bào)被輕易的識(shí)別.我們給出一種最簡(jiǎn)的的加密方法,對(duì)給定的一個(gè)字符串,把其中從a-y,A-Y的字母用其后繼字母替代,把z和Z用a和A替代,則可得到一個(gè)簡(jiǎn)單的加密字符串. 輸入 第一行是字符串的數(shù)目n, (也要使用get(s)讀取字符串,再用n=atoi(s)獲得整數(shù)數(shù)值).其余n行每行一個(gè)字符串,用gets(s)方式讀取這一行字符串.每個(gè)字符串長(zhǎng)度小于80個(gè)字符. 輸出 輸出每行字符串的加密字符串. 樣例輸入 1Hello! How are you!樣例輸出 Ifmmp! Ipx bsf zpv!提示 為了避免gets和scanf在使用時(shí)的沖突,可用n=atoi(

44、s)把字符串s轉(zhuǎn)換為整數(shù).atoi定義在頭文件stdlib.h中. Global No. 1704 Source Code:1. #include<iostream>2. #include<string>3. using namespace std;4. int main()5. 6. string s;7. char ss100;8. int i,n=0;9. while(cin.getline(ss,100)10. if(n=0) n=1;11. else12. 13. s=ss;14. for(i=0;i<s.size();i+)15. 16. if(si&

45、gt;='A' && si<='Y' | si>='a' && si<='y' )17. cout<<char(si+1);18. else if(si='Z')19. cout<<'A'20. else if(si='z')21. cout<<'a'22. else23. cout<<si;24. 25. cout<<endl;26. 27. 28. ret

46、urn 0;29. Result:POJ2703騎車與走路Time Limit: 1000ms Memory limit: 65536kB 題目描述 在北大校園里,沒有自行車,上課辦事會(huì)很不方便.但實(shí)際上,并非去辦任何事情都是騎車快,因?yàn)轵T車總要找車、開鎖、停車、鎖車等,這要耽誤一些時(shí)間.假設(shè)找到自行車,開鎖并車上自行車的時(shí)間為27秒;停車鎖車的時(shí)間為23秒;步行每秒行走1.2米,騎車每秒行走3.0米.請(qǐng)判斷走不同的距離去辦事,是騎車快還是走路快. 輸入 第一行為待處理的數(shù)據(jù)的數(shù)量n其后每一行整數(shù)為一次辦事要行走的距離,單位為米. 輸出 #include<iostream>usin

47、g namespace std;int main()int n,k=0;cin>>n;while(k<n)float distance;cin>>distance;float bike,walk;bike=distance/3.0+27+23;walk=distance/1.2;if(bike<walk)cout<<"Bike"<<endl;else if(bike>walk)cout<<"Walk"<<endl;else cout<<"All

48、"<<endl;k+;return 0;對(duì)應(yīng)每個(gè)整數(shù),如果騎車快,輸出一行"Bike"如果走路快,輸出一行"Walk"如果一樣快,輸出一行"All". 樣例輸入 45090120180樣例輸出 WalkWalkBikeBikeGlobal No. 1705 POJ2707求一元二次方程的根Time Limit: 1000ms Memory limit: 65536kB 題目描述 利用公式x1 = (-b + sqrt(b*b-4*a*c)/(2*a), x2 = (-b - sqrt(b*b-4*a*c)/(2*

49、a)求一元二次方程ax2 + bx + c =0的根,其中a不等于0。 輸入 第一行是待解方程的數(shù)目n。 其余n行每行含三個(gè)浮點(diǎn)數(shù)a, b, c(它們之間用空格隔開),分別表示方程ax2 + bx + c =0的系數(shù)。 輸出 輸出共有n行,每行是一個(gè)方程的根:若是兩個(gè)實(shí)根,則輸出:x1=.;x2 = .若兩個(gè)實(shí)根相等,則輸出:x1=x2=.若是兩個(gè)虛根,則輸出:x1=實(shí)部+虛部i; x2=實(shí)部-虛部i所有實(shí)數(shù)部分要求精確到小數(shù)點(diǎn)后5位,數(shù)字、符號(hào)之間沒有空格。x1和x2的順序:x1的實(shí)部>Re的實(shí)部|(x1的實(shí)部=x2的實(shí)部&&x1的虛部>=x2的虛部) 樣例輸入

50、31.0 3.0 1.02.0 -4.0 2.01.0 2.0 8.0樣例輸出 x1=-0.38197;x2=-2.61803x1=x2=1.00000x1=-1.00000+2.64575i;x2=-1.00000-2.64575i提示 1、需要嚴(yán)格按照題目描述的順序求解x1、x2。2、方程的根以及其它中間變量用double類型變量表示。3、函數(shù)sqrt()在頭文件math.h中。4、要輸出浮點(diǎn)數(shù)、雙精度數(shù)小數(shù)點(diǎn)后5位數(shù)字,可以用下面這種形式: printf("%.5f", num);Global No. 1709Source Code :#include<iost

51、ream>#include<cmath>#include<iomanip>using namespace std;int main()double a,b,c,i,n,delta;cin>>n;for(i=1;i<=n;i+)cin>>a>>b>>c;delta=b*b-4*a*c;cout << fixed<<setprecision(5);if(fabs(delta) < 1e-8)cout<<"x1=x2="<<-b/a/2<

52、<endl;else if(delta>0)cout<<"x1="<<(-b+sqrt(delta)/2/a<<""<<"x2="<<(-b-sqrt(delta)/2/a<<endl; /x1=(-b+sqrt(delta)/(2*a) 輸出x1;x2else if(delta<0)delta=0-delta; /將delta變?yōu)橄喾磾?shù),就可以開方了double tmp = - b / a / 2;if (fabs(tmp) < 1e-8) tmp = 0.0;cout<<"x1="<<tmp<<"+"<<sqrt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論