




免費預覽已結束,剩余88頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
POJ Grids基本練習題 資料POJ1004 Financial Management- 3 -POJ1664 放蘋果- 5 -POJ2675 計算書費- 7 -POJ2676 整數的個數- 9 -POJ2679 整數的立方和- 11 -POJ2680 化驗診斷- 12 -POJ2684 求階乘的和- 15 -POJ2687 數組逆序重放- 16 -POJ2688 求字母的個數- 17 -POJ2689 大小寫字母互換- 18 -POJ2694 逆波蘭表達式- 19 -POJ2696 計算表達式的值- 20 -POJ2699 自整除數- 22 -POJ2701 與7無關的數- 23 -POJ2702 密碼翻譯- 24 -POJ2703 騎車與走路- 26 -POJ2707 求一元二次方程的根- 27 -POJ2714 求平均年齡- 29 -POJ2715 誰拿了最多的獎學金- 30 -POJ2718 晶晶赴約會- 33 -POJ2719 陶陶摘蘋果- 34 -POJ2720 大象喝水- 35 -POJ2722 學分績點- 36 -POJ2733 判斷閏年- 38 -POJ2734 十進制到八進制- 39 -POJ2750 雞兔同籠- 40 -POJ2753 菲波那契數列- 41 -POJ2758 菲波那契數列(2)- 42 -POJ2764 數根- 43 -POJ2767 簡單密碼- 45 -POJ2780 Evas Problem- 48 -POJ2786 Pell數列- 49 -POJ2796數字求和- 50 -POJ2807兩倍- 51 -POJ 2808校門外的樹- 53 -POJ2856 計算郵資- 55 -POJ2870 求矩陣的加法- 57 -POJ2871 整數奇偶排序- 59 -POJ2882 Program I- 61 -POJ2883 checking order- 63 -POJ2886 能被3除盡的數之和- 65 -POJ2887 能被3、5、7整除的數- 66 -POJ2888字符串中的數字- 68 -POJ2926 算數運算- 70 -POJ2927 判斷數字個數- 71 -POJ2930 加減乘除- 73 -POJ2933 停車場收費- 75 -POJ2938 按順序輸出- 77 -POJ2943 小白鼠排隊- 78 -POJ3142 球彈跳高度的計算- 80 -POJ3164 奇偶排序- 81 -POJ3195 最大公約數- 82 -POJ3248 最大公約數- 83 -POJ3255 十進制到六進制- 85 -POJ3670 計算鞍點- 87 -POJ3708 1的個數- 89 -POJ3756 多邊形內角和- 91 -POJ1004 Financial ManagementTime Limit: 1000ms Memory limit: 10000kB 題目描述 Larry graduated this year and finally has a job. Hes 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 whats been going 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 the 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, preceded 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 思路:這道題就是計算一下12個月的平均工資。代碼:#includeusing namespace std;int main() double a12; int i; for(i=0;iai; double sum=0.0; for(i=0;i12;i+) sum+=ai; double average; average=sum/12; cout$averageendl; return 0;運行結果:POJ1664 放蘋果Time Limit: 1000ms Memory limit: 65536kB 題目描述 把M個同樣的蘋果放在N個同樣的盤子里,允許有的盤子空著不放,問共有多少種不同的分法?(用K表示)5,1,1和1,5,1 是同一種分法。 輸入 第一行是測試數據的數目t(0 = t = 20)。以下每行均包含二個整數M和N,以空格分開。1=M,Nm,必有n-m個盤子空著,去掉他們對白放蘋果方法數目不產生影響;即if(nm),f(m,n)=f(m,m) 當n=m時不同的放法可以分成兩類:即有至少有一個盤子空著或者所有盤子都有蘋果,前一種情況相當于f(m,n)=f(m,n-1) ;后一種情況可以從每個盤子中拿掉一個蘋果,不影響不同放法的數目,即有f(m,n)=f(m-n,n)。總的放蘋果的放法數目等于兩者的和,即f(m,n)=f(m,n-1)+f(m-n,n)。整個遞歸過程描述如下:int f(int m,int n)if(n=1|m=0) return 1;if(mm時會返回f(m,m),所以終會達到出口“m=0”程序代碼:#includeusing namespace std;int count(int x,int y)if(y=1|x=0) return 1;if(xt;for(int i=0;imn; coutcount(m,n)endl; while(1); return 0;運行結果:POJ2675 計算書費Time Limit: 1000ms Memory limit: 10000kB 題目描述 下面是一個圖書的單價表:計算概論 28.9 元/本數據結構與算法 32.7 元/本數字邏輯 45.6元/本C+程序設計教程 78 元/本人工智能 35 元/本計算機體系結構 86.2 元/本編譯原理 27.8元/本操作系統 43 元/本計算機網絡 56 元/本JAVA程序設計 65 元/本給定每種圖書購買的數量,編程計算應付的總費用。輸入 輸入第一行包含一個正整數k(0k100),表示有k組測試數據;接下來k行,每行包含一組測試數據。每組測試數據包含10個整數(大于等于0,小于等于100),分別表示購買的計算概論、數據結構與算法、數字邏輯、C+程序設計教程、人工智能、計算機體系結構、編譯原理、操作系統、計算機網絡、JAVA程序設計的數量(以本為單位)。每兩個整數用一個空格分開。 輸出 對于每組測試數據,輸出一行。該行包含一個浮點數f,表示應付的總費用。精確到小數點后兩位。可用printf(%.2fn, sum)來輸出sum的值,并精確到小數點后兩位。 樣例輸入 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#includeusing namespace std;#define M 100int main() int n,i,j,count10; 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;cinn; for(j=1;j=n;j+) sum=0; for(i=0;icounti; paidi=pricei*counti; sum+=paidi; coutsetiosflags(ios:fixed)setprecision(2)sumendl; return 0; Result:POJ2676 整數的個數Time Limit: 1000ms Memory limit: 65536kB 題目描述 給定k(1k100)個正整數,其中每個數都是大于等于1,小于等于10的數。寫程序計算給定的k個正整數中,1,5和10出現的次數。 輸入 輸入有兩行:第一行包含一個正整數k,第二行包含k個正整數,每兩個正整數用一個空格分開。 輸出 輸出有三行,第一行為1出現的次數,第二行為5出現的次數,第三行為10出現的次數。 樣例輸入 51 5 8 10 5 樣例輸出 121Global No. 1678 Source Code:#include#define N 100using namespace std;int main() int k,i,c1=0,c2=0,c3=0; cink; int aN; for(i=0;iai; for(i=0;ik;i+) if(ai=1) c1+; else if(ai=5) c2+; else if(ai=10) c3+; coutc1endl; coutc2endl; coutc3endl; while(1); return 0;Result:POJ2679 整數的立方和Time Limit: 1000ms Memory limit: 65536kB 題目描述 給定一個正整數k(1k10),求1到k的立方和m。即m=1+2*2*2+k*k*k。 輸入 輸入只有一行,該行包含一個正整數k。 輸出 輸出只有一行,該行包含1到k的立方和。 樣例輸入 5 樣例輸出 225Global No. 1681 Scourse Code:#includeusing namespace std;int main() int n,i=2,sum=1; cinn; while(i=n) sum+=i*i*i; i+; coutsumendl; return 0; Result:POJ2680化驗診斷Time Limit: 1000ms Memory limit: 65536kB 題目描述 下表是進行血常規檢驗的正常值參考范圍,及化驗值異常的臨床意義:給定一張化驗單,判斷其所有指標是否正常,如果不正常,統計有幾項不正常。化驗單上的值必須嚴格落在正常參考值范圍內,才算是正常。正常參考值范圍包括邊界,即落在邊界上也算正常。 輸入 輸出 對于每組測試數據,輸出一行。如果所有檢驗項目正常,則輸出:normal;否則輸出不正常的項的數目。 樣例輸入 2female 4.5 4.0 115 37 200male 3.9 3.5 155 36 301樣例輸出 normal3Global No. 1682 Source Code:#include#includeusing namespace std;struct Info string sex; float a,b,c,d,e;int main() Info info101; int n,i,k=0; cinn; while(kinfoi.sexinfoi.ainfoi.binfoi.cinfoi.dinfoi.e; if(infoi.sex=female) if(infoi.a=4.0) countN+; else countI+; if(infoi.b=3.5) countN+; else countI+; if(infoi.c=110) countN+; else countI+; if(infoi.d=36) countN+; else countI+; if(infoi.e=100) countN+; else countI+; if(countN=5) coutnormalendl; else coutcountIendl; else if(infoi.a=4.0) countN+; else countI+; if(infoi.b=3.5) countN+; else countI+; if(infoi.c=120) countN+; else countI+; if(infoi.d=42) countN+; else countI+; if(infoi.e=100) countN+; else countI+; if(countN=5) coutnormalendl; else coutcountIendl; k+; return 0;Result:POJ2684 求階乘的和Time Limit: 1000ms Memory limit: 65536kB 題目描述 求前n(1n12)個整數的階乘的和(即求1!+2!+3!+.+n!)。 輸入 輸入有一行:整數n。 輸出 輸出有一行:階乘得和。 樣例輸入 5樣例輸出 153Global No. 1686 #includeusing namespace std;long int function(int n) long int h; if (n1) h=n*function(n-1); else h=1; return h; int main() int data,count,sum=0; cindata; for(count=1;count=data;count+) sum+=function(count); coutsumendl; while(1); return 0;POJ2687數組逆序重放Time Limit: 1000ms Memory limit: 65536kB 題目描述 將一個數組中的值按逆序重新存放。例如,原來的順序為8,6,5,4,1。要求改為1,4,5,6,8。 輸入 輸入為兩行:第一行數組中元素的個數n(1n100),第二行是n個整數,每兩個整數之間用空格分隔。 輸出 輸出為一行:輸出逆序后數組的整數,每兩個整數之間用空格分隔。 樣例輸入 58 6 5 4 1樣例輸出 1 4 5 6 8Global No. 1689 Scourse Code:#include#define N 100using namespace std;int main() int count,total; cintotal; int aN; for(count=0;countacount; for(count=total-1;count=0;count-) coutacount ; return 0;POJ2688 求字母的個數Time Limit: 1000ms Memory limit: 65536kB 題目描述 在一個字符串中找出元音字母a,e,i,o,u出現的次數。 輸入 輸入一行字符串(字符串中可能有空格,請用gets(s)方法把一行字符串輸入到字符數組s中),字符串長度小于80個字符。 輸出 輸出一行,依次輸出a,e,i,o,u在輸入字符串中出現的次數,整數之間用空格分隔。 樣例輸入 If so, you already have a Google Account. You can sign in on the right.樣例輸出 5 4 3 7 3提示 注意,只統計小寫元音字母a,e,i,o,u出現的次數。 Global No. 1690 Scourse Code:#include#define N 80using namespace std;int main() char testN; int counta=0,counte=0,counti=0,counto=0,countu=0; gets(test); int i; for(i=0;iN & 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) countu+; coutcounta counte counti counto countu endl; return 0;POJ2689 大小寫字母互換Time Limit: 1000ms Memory limit: 65536kB 題目描述 把一個字符串中所有出現的大寫字母都替換成小寫字母,同時把小寫字母替換成大寫字母。 輸入 輸入一行:待互換的字符串。 輸出 輸出一行:完成互換的字符串(字符串長度小于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. 提示 由于輸入字符串中有空格,因此應該用get(s)把一行字符串讀入到字符數組s中。可用printf(%sn,s)輸出字符串s。 Global No. 1691 int main()char aM;gets(a);fun(a);while(1); return 0;通過代碼:#include#include#define M 80using namespace std;void fun(char a)int i;for(i=0;ai;i+) if(ai=A) & (ai=a) & (ai=z) ai-=32;/轉化成大寫字母printf(%sn,a);POJ2694逆波蘭表達式問題描述:逆波蘭表達式是一種吧運算符前置的算術表達式,例如普通的表達式2+3的逆波蘭表示為+23.逆波蘭表達式的優點是運算符之間不必有優先級的關系,也不必有括號改變運算次序,例如(2+3)*4的逆波蘭表示法為*+2 3 4.本題求解的逆波蘭表達式的值。輸入數據:輸入為一行,其中運算符和運算數之間都用空格分隔,運算數是浮點數。輸出要求:輸出為一行,即表達式的值。輸入樣例:* + 11.0 12.0 +24.0 35.0+輸出樣例:1357.000000解題思路:這個問題看上去有些復雜,如果只是簡單地模擬計算步驟不太容易想清楚,但是如果用遞歸的思想就非常容易想清楚。這里根據逆波蘭表達式的定義進行遞歸求解。在遞歸函數中,針對當前的輸入有5種情況:1。輸入是常數,則表達式的值就是這個常數;2.輸入的是+,則表達式的值是再繼續讀入兩個表達式并計算出他們的值,然后將他們的值進行相加;3.輸入-;4.輸入是*;5.輸入是/;后三種情況與2.相同,只是計算從+變成-,*,/。參考程序:#include#includedouble exp()char a10;scanf(%s,a);switch(a0)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 計算表達式的值Time Limit: 1000ms Memory limit: 65536kB 題目描述 有些語言中表達式的運算符使用字符串表示,例如用mul代表*,用div代表/,用add代表+,用sub代表-,用mod代表%。 輸入 第一行為表達式的個數n。其余n行每行一個表達式,表達式由兩個整數及其中間的運算符字符串表示。 輸出 輸出為n行,每行是對應表達式的值。注意,此處要求的所有運算均為整數運算。 樣例輸入 5345 mul 1223945 div 12321 add 343340 sub 211377 mod 27樣例輸出 4209032866412926Global No. 1698 Source Code:#include#includeusing namespace std;int main() string s; char ss4; int a,b; int i,n; cinn; for(i=0;ia; cinss; s=ss; Result: cinb; if(s=add) couta+bendl; else if(s=sub) couta-bendl; else if(s=mul) couta*bendl; else if(s=div) couta/bendl; else if(s=mod) couta%bendl; return 0; POJ2699自整除數Time Limit: 1000ms Memory limit: 65536kB 題目描述 對一個整數n,如果其各個位數的數字相加得到的數m能整除n,則稱n為自整除數.例如21,21%(2+1)=0,所以21是自整除數.現求出從10到n(n100)之間的所有自整除數. 輸入 有一行,整數n,(10=n100) 輸出 有多行.按從小到大的順序輸出所有大于等于10,小于等于n的自整除數,每行一個自整除數. 樣例輸入 Source Code:#includeusing namespace std;int main() int n,n1,n2,sum=0,i; cinn; for(i=10;i=n;i+) n1=i%10; n2=i/10; sum=n1+n2; if(i%sum=0) coutiendl; return 0;47樣例輸出 101218202124273036404245Global No. 1701 POJ2701 與7無關的數Time Limit: 1000ms Memory limit: 65536kB 題目描述 一個正整數,如果它能被7整除,或者它的十進制表示法中某個位數上的數字為7,則稱其為與7相關的數.現求所有小于等于n(n100)的與7無關的正整數的平方和. 輸入 輸入為一行,正整數n,(n100) 輸出 輸出小于等于n的與7無關的正整數的平方和 樣例輸入 21樣例輸出 2336Global No. 1703 Scource Code:1. #include2. using namespace std;3. int main()4. 5. int n;6. cinn;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. coutsumendl;12. return 0;13. POJ2702密碼翻譯Time Limit: 1000ms Memory limit: 65536kB 題目描述 在情報傳遞過程中,為了防止情報被截獲,往往需要對情報用一定的方式加密,簡單的加密算法雖然不足以完全避免情報被破譯,但仍然能防止情報被輕易的識別.我們給出一種最簡的的加密方法,對給定的一個字符串,把其中從a-y,A-Y的字母用其后繼字母替代,把z和Z用a和A替代,則可得到一個簡單的加密字符串. 輸入 第一行是字符串的數目n, (也要使用get(s)讀取字符串,再用n=atoi(s)獲得整數數值).其余n行每行一個字符串,用gets(s)方式讀取這一行字符串.每個字符串長度小于80個字符. 輸出 輸出每行字符串的加密字符串. 樣例輸入 1Hello! How are you!樣例輸出 Ifmmp! Ipx bsf zpv!提示 為了避免gets和scanf在使用時的沖突,可用n=atoi(s)把字符串s轉換為整數.atoi定義在頭文件stdlib.h中. Global No. 1704 Source Code:1. #include2. #include3. 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=A & si=a & si=y )17. coutchar(si+1);18. else if(si=Z)19. coutA;20. else if(si=z)21. couta;22. else23. coutsi;24. 25. coutendl;26. 27. 28. return 0;29. Result:POJ2703騎車與走路Time Limit: 1000ms Memory limit: 65536kB 題目描述 在北大校園里,沒有自行車,上課辦事會很不方便.但實際上,并非去辦任何事情都是騎車快,因為騎車總要找車、開鎖、停車、鎖車等,這要耽誤一些時間.假設找到自行車,開鎖并車上自行車的時間為27秒;停車鎖車的時間為23秒;步行每秒行走1.2米,騎車每秒行走3.0米.請判斷走不同的距離去辦事,是騎車快還是走路快. 輸入 第一行為待處理的數據的數量n其后每一行整數為一次辦事要行走的距離,單位為米. 輸出 #includeusing namespace std;int main()int n,k=0;cinn;while(kdistance;float bike,walk;bike=distance/3.0+27+23;walk=distance/1.2;if(bikewalk)coutBikewalk)coutWalkendl;else coutAllRe的實部|(x1的實部=x2的實部&x1的虛部=x2的虛部) 樣例輸入 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、需要嚴格按照題目描述的順序求解x1、x2。2、方程的根以及其它中間變量用double類型變量表示。3、函數sqrt()在頭文件math.h中。4、要輸出浮點數、雙精度數小數點后5位數字,可以用下面這種形式: printf(%.5f, num);Global No. 1709Source Code :#include#include#includeusing namespace std;int main()double a,b,c,i,n,delta;cinn;for(i=1;iabc;delta=b*b-4*a*c;cout fixedsetprecision(5);if(fabs(delta) 1e-8)coutx1=x2=-b/a/20)coutx1=(-b+sqrt(delta)/2/a;x2=(-b-sqrt(delta)/2/aendl; /x1=(-b+sqrt(delta)/(2*a) 輸出x1;x2else if(delta0)delta=0-delta; /將delta變為相反數,就可以開方了do
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中數學九年級下冊統編教案 8.1中學生的視力情況調查2
- AI大模型智算運營運維服務建設方案
- 哮喘診斷新定義
- 內蒙古自治區錫林郭勒盟三縣聯考2024-2025學年八年級下學期6月月考道德與法治試卷(含答案)
- 洗胃及胃排空試題及答案
- 河南省青桐鳴2024-2025學年高一下學期5月大聯考英語試卷(不含音頻) - 原卷
- 2025年甘肅省定西市安定區城區聯考三模數學試題(含部分答案)
- 2025短視頻平臺委托開發合同
- 2025國際石油勘探合同標準格式的爭議解決條款研究
- 加強家電公司品牌建設與市場營銷
- 衛星遙感數據分析技術
- 消防控制室值班服務投標方案
- 2021蘇教版科學四年級下冊全冊期末復習【知識歸納總結】
- 印刷品承印五項管理制度范本(四篇)
- 貴州省工程竣工驗收報告
- 2023年遼寧沈陽中考數學真題及答案
- 浙教版七年級數學下冊《分式的基本性質》評課稿
- 安徽省超聲醫學質控標準-課件
- 青島版九年級數學下冊《質數的分布-“觀察與思考”“實驗與探究”》教學設計
- 企業審計大數據分析方法及案例
- 部編2023版道德與法治六年級下冊活動園問題及答案
評論
0/150
提交評論