版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、算法編程試題=算法編程試題【程序1】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?1.程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21.【程序2】題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。做了【程序3】題目:打印出所有的水仙花數(shù)“,所謂“水仙花數(shù)“是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個水仙花數(shù),因為153=1的三次方+5的三次
2、方+3的三次方。1.程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位?!境绦?】題目:將一個正整數(shù)分解質因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對n進行分解質因數(shù),應先找到一個最小的質數(shù)k,然后按下述步驟完成:(1)如果這個質數(shù)恰等于n,則說明分解質因數(shù)的過程已經(jīng)結束,打印出即可。如果nk,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復執(zhí)行第一步。(3)如果n不能被k整除,則用k+1作為k的值,重復執(zhí)行第一步?!境绦?】題目:利用條件運算符的嵌套來完成此題:學習成績=90分的同學用A表示,60-89分之間的用B表示,
3、60分以下的用C表示。1.程序分析:(ab)?a:b這是條件運算符的基本例子?!境绦?】題目:輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。1.程序分析:利用輾除法。【程序7】題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。1.程序分析:利用while語句,條件為輸入的字符不為n.做了【程序8】題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。1.程序分析:關鍵是計算出每一項的值?!境绦?】題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)“。例如6=
4、1+2+3.編程 找出1000以內的所有完數(shù)?!境绦?0】題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?【程序11】題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?都是多少?1.程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組成所有的排列后再去掉不滿足條件的排列?!境绦?2】題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,
5、高于20萬元的部 分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可 提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發(fā)放獎金總數(shù)?1.程序分析:請利用數(shù)軸來分界,定位。注意定義時需把獎金定義成長整型。【程序13】題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?1.程序分析:在10萬以內判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結果滿足如下條件,即是結果。請看具體分析:【程序14】題目:輸入某年某月某日,判斷這
6、一天是這一年的第幾天?1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天?!境绦?5】*題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進行比較,如果xy則將x與y的值進行交換,然后再用與z進行比較,如果xz則將x與z的值進行交換,這樣能使x最小。【程序16】題目:輸出9*9口訣。1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列【程序17】題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子
7、吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。1.程序分析:采取逆向思維的方法,從后往前推斷。【程序18】題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向 隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)?!境绦?9】題目:打印出如下圖案(菱形)*【程序16】*1.程序分析:先把圖形分成兩部分來看待,前四
8、行一個規(guī)律,后三行一個規(guī)律,利用雙重 行,第二層控制列?!境绦?0】題目:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13.求出這個數(shù)列的前20項之和1.程序分析:請抓住分子與分母的變化規(guī)律?!境绦?1】題目:求1+2!+3!+.+20!的和1.程序分析:此程序只是把累加變成了累乘。【程序22】題目:利用遞歸方法求5!。1.程序分析:遞歸公式:fn=fn_1*4!【程序23】題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五
9、個人多大?1.程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數(shù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。【程序24】題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。for循環(huán),第一層控制【程序25】做完【程序31】題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同【程序26】題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)判斷第二個字母。1.程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母?!境绦?7】題目:
10、求100之內的素數(shù)【程序28】題目:對10個數(shù)進行排序1.程序分析:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換,下次類推,即用第二個元素與后8個進行比較,并進行交換。【程序29】題目:求一個3*3矩陣對角線元素之和1.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將aii累加后輸出【程序30】題目:有一個已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。1.程序分析:首先判斷此數(shù)是否大于最后一個數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個位置。題目:將一個數(shù)組逆序輸出。1.程序分析:用第一個與最后一個交換。【程序32】題目:取一
11、個整數(shù)a從右端開始的47位。程序分析:可以這樣考慮:(1)先使a右移4位。設置一個低4位全為1,其余全為0的數(shù)。可用(04)(3)將上面二者進行&運算?!境绦?3】題目:打印出楊輝三角形(要求打印出10行如下圖)1.程序分析:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1【程序34】題目:輸入3個數(shù)a,b,c,按大小順序輸出1.程序分析:利用指針方法?!境绦?5】題目:輸入數(shù)組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數(shù)組?!境绦?6】題目:有n個整數(shù),使其前面各數(shù)順序向后移m個位置,最后m個數(shù)變成最前面的m個數(shù)【程序37】題目:有n個人圍成
12、一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。【程序38】題目:寫一個函數(shù),求一個字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度?!境绦?9】題目:編寫一個函數(shù),輸入n為偶數(shù)時,調用函數(shù)求1/2+1/4+.+1/n,當輸入n為奇數(shù)時,調用函數(shù)1/1+1/3+.+1/n(利用指針函數(shù))【程序40】題目:字符串排序。【程序41】題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一
13、份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?【程序42】題目:809*?=800*?+9*?+1其中?代表的兩位數(shù),8*?的結果為兩位數(shù),9*?的結果為3位數(shù)。求?代表的兩位數(shù),及809*?后的結果【程序43】題目:求07所能組成的奇數(shù)個數(shù)?!境绦?4】題目:一個偶數(shù)總能表示為兩個素數(shù)之和【程序45】題目:判斷一個素數(shù)能被幾個9整除【程序46】題目:兩個字符串連接程序做完【程序47】題目:讀取7個數(shù)(150)的整數(shù)值,每讀取一個值,程序打印出該值個數(shù)的*【程序48】題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上
14、5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。做完【程序49】題目:計算字符串中子串出現(xiàn)的次數(shù)【程序50】題目:有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數(shù)據(jù)(包括學生號,姓名,三門課成績),計算出平均成績,況原有的數(shù)【程序45】據(jù)和計算出的平均分數(shù)存放在磁盤文件stud中?!境绦?】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對 兔子,小兔子長到第三個月后每個月又生一對兔子, 假如兔子都不死, 問每個月的兔子對數(shù)為多少?程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21public class Prog1public sta
15、tic void main(String args)int n二10;System.out.println(”第+n+個月兔子總數(shù)為+fun(n);private static int fun(int n)if(n=1 | n=2)return 1;elsereturn fun(n -1)+fu n(n-2);【程序2】題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。public class Prog2public static void main(String args)
16、int m = 1;int n二1000;int count = 0;/統(tǒng)計素數(shù)個數(shù)for(int i=m;in;i+)if(isPrime(i)coun t+;System.out.print(i+);if(cou nt%10=0)System.out.pri ntl n();System.out.pri ntl n();System.out.println(”在+m+和+n+cou nt+個素數(shù));/判斷素數(shù)private static boolean isPrime(int n)之間共有boolea n flag = true;if(n=1)flag = false;elsefor(in
17、t i=2;i=Math.sqrt(n);i+)if(n%i)=0 | n=1)flag = false;break;elseflag = true;retur n flag;【程序3】題目:打印出所有的水仙花數(shù),所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個水仙花數(shù),因為153=1的三次方+5的三次方+3的三次方。程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位, 十位,百位。public class Prog3 public static void main(String args) for(inti=1OO;i1OOO;i+) if(isLo
18、tus(i)System.out.print(i+);System.out.pri ntl n();/判斷水仙花數(shù)private static boolean isLotus(int lotus)int m = 0;int n二lotus;int sum = 0;m = n/100;n -二m*100;sum = m*m*m;m = n/10;n -= m*10;sum += m*m*m + n*n*n;if(sum=lotus)return true;elsereturn false;【程序4】題目:將一個正整數(shù)分解質因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對n進行分解質
19、因數(shù),應先找到一個最小的質數(shù)k,然后按下述步驟完成:(1)如果這個質數(shù)恰等于n,貝卩說明分解質因數(shù)的過程已經(jīng)結束,打 印出即可。如果nk,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數(shù)n,重復執(zhí)行第一步。如果n不能被k整除,則用k+1作為k的值,重復執(zhí)行第一步。public class Prog4public static void main(String args)int n二13;decompose (n);private static void decomposent n)System.out.pri nt( n+=);for(int i=2;i=90分的同學用A表示
20、,60-89分之間的用B表示,60分以下的用C表示。程序分析:(ab)?a:b這是條件運算符的基本例子。public class Prog5public static void main(String args)int n二-1;tryn = In teger.parsel nt(args0);catch(Arrayl ndexOutOfBo un dsExceptio n e)System.out.println(”請輸入成績);return;grade (n);/成績等級計算private static void grade(int n)if(n 100 | n=90)?分,屬于A等:(n
21、60)?分,屬于B等:分,屬于C等);System.out.pri ntl n(n+str);【程序6】題目:輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。程序分析:利用輾除法。public class Prog6public static void main(String args)int m,n;trym = In teger.parsel nt(args0);n = In teger.parseI nt(args1);catch(ArraylndexOutOfBoundsException e)System.out.println(”輸入有誤);return;max_mi n(m,n
22、);/求最大公約數(shù)和最小公倍數(shù)private static void max_m in (i nt m, i nt n)int temp = 1;int yshu = 1;int bshu = m*n;if(n m)temp = n;n二m;m = temp;while(m!=0)temp = n %m;n二m;m = temp; yshu = n; bshu /= n;System.out.println(m+和+n+的最大公約數(shù)為+yshu);System.out.println(m+和+n+的最小公倍數(shù)為+bshu);【程序7】題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它
23、 字符的個數(shù)。程序分析:利用while語句,條件為輸入的字符不為n.import java.util.Sca nner;public class Prog7_1public static void main(String args)System.out.pri nt(請輸入一串字符:);Scanner sca n二new Sca nn er(System.i n);Stri ng str = sca n.n extLi ne();將一行字符轉化為字符串sca n. close();coun t(str);/統(tǒng)計輸入的字符數(shù)private static void count(String str
24、)Stri ng E1 = u4e00-u9fa5;Stri ng E2 = a-zA-Z;Stri ng E3 = 0-9;Stri ng E4 = s;空格int coun tChi nese = 0;int coun tLetter = 0;int coun tNumber = 0;int coun tSpace = 0;int coun tOther = 0;char array_Char = str.toCharArray();將字符串轉化為字符數(shù)組Stri ngarray_Stri ng=newStri ngarray_Char.le ngth;/漢字只能作為字符串處理for(i
25、nt i=0;i list = new ArrayListvString();char array_Char = str.toCharArray();for(char c:array_Char)list.add(Stri ng.valueOf(c);/list表中Collectio ns.sort(list);/排序for(Stri ng s:list)int begi n二list.i ndexOf(s);int end = list.lastI ndexOf(s);/索引結束統(tǒng)計字符數(shù)將字符作為字符串添加到if(list.get(e nd)=s)System.out.println(”+(
26、e nd-begi n+1)+個);字 符 +s+【程序8】題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。程序分析:關鍵是計算出每一項的值。import java.util.Sca nner;public class Prog8public static void main(String args)System.out.print(”求s=a+aa+aaa+aaaa+的值,請輸入a的值:);Scannerscan二newSca nn er(System.i n).useDelimi
27、ter(s*);以空格作為分隔符int a = sca n.n ext In t();int n二sca n.n ext In t();sca n. close();關閉掃描器System.out.pri ntl n(expressed(2,5)+add(2,5);/求和表達式private static String expressed(int a,int n)Stri ngBufer sb = new Strin gBuffer();Stri ngBuffer subSB = new Stri ngBuffer();for(i nt i=1;i n+1;i+)subSB = subSB.a
28、ppe nd(a);sb = sb.appe nd(subSB);if(iv n)sb = sb.appe nd(+);sb.appe nd(=);return sb.toString();/求和private static long add(int a,int n) long sum = 0;long subSUM = 0;for(i nt i=1;i n+1;i+)subSUM = subSUM*10+a; sum = sum+subSUM;return sum;【程序9】 題目:一個數(shù)如果恰好等于它的因子之和, 這個數(shù)就稱為完數(shù)。例 如6=1+2+3.編程找出1000以內的所有完數(shù)。pu
29、blic class Prog9public static void main(String args)int n二1OOOO; compNumber( n);/求完數(shù)private static void compNumber(i nt n)int count = 0;System.out.pri ntl n(n+以內的完數(shù):);for(i nt i=1;i n+1;i+)int sum = 0;for(i nt j=1;jvi/2+1;j+)if(i%j)=O)sum += j;if(sum=i)System.out.pri nt(i+);if(cou nt+)%5=0)System.ou
30、t.pri ntl n();h 1=2.0 ;【程序10】題目:一球從100米高度自由落下,每次落地后反跳回原高度的一 半;再落下,求它在 第10次落地時,共經(jīng)過多少米?第10次反彈 多高?import java.util.Sca nner;public class Prog10public static void main(String args)System.out.pri nt(”請輸入小球落地時的高度和求解的次數(shù):);Scannerscan二newSca nn er(System.i n).useDelimiter(s);int h = sca n.n ext In t();int n
31、二sca n.n ext In t();sca n. close();dista nce(h ,n);/小球從h高度落下,經(jīng)n次反彈后經(jīng)過的距離和反彈的高度private static void distance(int h,int n)double len gth = 0;for(i nt i=0;i n ;i+)len gth += h;System.out.println(”經(jīng)過第+n+次反彈后,小球共經(jīng)過+length+米,+第+n+次反彈高度為+h+米”);【程序11】題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復數(shù)字 的三位數(shù)?都是多少?程序分析:可填在百位、十位、個位
32、的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。public class Prog11public static void main(String args)int count = 0;int n二0;for(i nt i=1;i5;i+)for(i nt j=1;j5;j+)if(j=i)con ti nue;h 1=2.0 ;for(int k=1;k1000000)profit = profit_sub-1000000; profit_sub = 1000000;prize += profit*0.01;if(profit600000)profit = profit_
33、sub-600000;profit_sub = 600000;prize += profit*0.015;if(profit400000)profit = profit_sub-400000;profit_sub = 400000;prize += profit*0.03; if(profit200000) profit = profit_sub-200000;profit_sub = 200000;prize += prize*0.05;if(profit100000)profit = profit_sub-100000;profit_sub = 100000;prize += profit
34、*0.075;prize += profit_sub*0.1;return prize;【程序13】題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?程序分析:在10萬以內判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結果滿足如下條件,即是結果。public class Prog13public static void main(String args)int n=0;for(int i=0;i100001;i+)if(isCompSqrt(i+100) & isCompSqrt(i+268)n二i;break;
35、System.out.pri ntln(”所求的數(shù)是:+n);/判斷完全平方數(shù)private static boolean isCompSqrt(int n)boolea n isComp = false;for(int i=1;iMath.sqrt(n)+1;i+)if(n=Math.pow(i,2)isComp = true;break;return isComp;【程序14】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天。import java.util.
36、Sca nner;public class Prog14public static void main(String args)Scannerscan二newSca nn er(System.i n).useDelimiter(D);匹配非數(shù)字System.out.print(”請輸入當前日期(年-月-日):”);int year = sca n.n extI nt();int mon th = sca n.n extI nt();int date = sca n.n ext In t();sca n. close();System.out.println(”今天是+year+年的第+an a
37、lysis(year,m on th,date)+天);/判斷天數(shù)private static in t an alysis(i nt year, i nt mon th, int date)int n二0;in tmon th_date=newin t0,31,28,31,30,31,30,31,31,30,31,30;if(year%400)=0(year%4)=0)&( (year%100)!=0)mon th_date2 = 29;for(i nt i=0;iy則將x與y的值進行交換,然后再用x與z進行比較,如 果xz則將x與z的值進行交換,這樣能使x最小。import jav
38、a.util.Sca nner;public class Prog15public static void main(String args)Scannerscan二newSca nn er(System.i n).useDelimiter(D);System.out.pri nt(請輸入三個數(shù):);int x = sca n.n ext In t();int y = sca n.n ext In t();int z = sca n.n ext In t();sca n. close();System.out.pri ntln(”排序結果:+sort(x,y,z);/比較兩個數(shù)的大小priva
39、te static String sort(int x,int y,int z)Stri ng s = n ull;if(xy)int t = x;x = y;y = t;if(xz)int t = x;x = z;z = t;if(yz)int t = z;z = y;y = t;s = x+y+z;return s;【程序16】題目:輸出9*9口訣。程序分析:分行與列考慮,共9行9列,i控制行,j控制列。public class Prog16public static void main(String args)for(int i=1;i10;i+)for(i nt j=1;j0;i-)m
40、 = 2*m + 2;System.out.println(”小猴子共摘了+m+桃子);10【程序18】題目兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊 為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。import java.util.ArrayList;public class Prog18Stri ng a,b,c; 甲隊成員public static void main(String args)String racer = x,y,z;乙隊成員ArrayListarrayList=newArra
41、yList();for(int i=0;i3;i+)for(i nt j=0;j3;j+)for(int k=0;k3;k+)Prog18prog18=newProg18(raceri,racerj,racerk);if(!prog18.a.equals(prog18.b)&!prog18.a.equals(prog18.c)& !prog18.b.equals(prog18.c) &!prog18.a.equals(x)& !prog18.c.equals(x) & !prog18.c.equals(z)arrayList.add(prog18);fo
42、r(Object obj:arrayList)System.out.pri ntl n(obj);/構造方法private Prog18(String a,String b,String c)this.a = a;this.b = b ;this.c = c;public Stri ng toStri ng()return a的對手是+a+b的對手是+b+c的對手是+c;【程序19】題目打印出如下圖案(菱形)*程序分析:先把圖形分成兩部分來看待,前四行一個規(guī)律,后三行 個規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。public class Prog19public static vo
43、id main(String args)int n二5;prin tStar( n);/打印星星private static void printStar(int n)/打印上半部分for(i nt i=0;i n ;i+)for(i nt j=0;j2* n;j+)if(j=n-i & jv二n+i)System.out.pri nt(*);System.out.pri ntl n();/打印下半部分for(i nt i=1;i n ;i+)System.out.pri nt(” );for(i nt j=0;j2* n-i;j+)if(j=i & j2* n-i-1)Sys
44、tem.out.pri nt(*);System.out.pri ntl n();【程序20】題目:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13求出這個數(shù)列的前20項之和。程序分析:請抓住分子與分母的變化規(guī)律。public class Prog20public static void main(String args)double n1 = 1;double n2 = 1;double fracti on二n1/n2;double Sn二0;for(int i=0;i20;i+)double t1 = n1;double t2 = n2;n1 = t1+t2;n2 = t
45、1;fracti on二n1/n2;Sn += fracti on;System.out.pri nt(S n);【程序21】題目:求1+2!+3!+20!的和程序分析:此程序只是把累加變成了累乘public class Prog21public static void main(String args)long sum = 0;for(int i=0;i20;i+)sum += factorial(i+1);System.out.pri ntln( sum);/階乘private static long factorial(int n)int mult = 1;for(i nt i=1;i
46、n+1;i+)mult *= i;return mult;【程序22】題目:利用遞歸方法求5!。程序分析:遞歸公式:fn=fn_1*4!public class Prog22public static void main(String args)System.out.pri ntl n(fact(10);/遞歸求階乘private static long fact(int n)if(n二=1)return 1;elsereturn fact( n-1)* n;【程序23】題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說 比第
47、2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一 個人,他說是10歲。請問第五個人多大?程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知 道第五個人歲數(shù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。public class Prog23public static void main(String args)System.out.pri ntln( getAge(5,2);/求第m位同志的年齡private static int getAge(int m,int n)if(m=1)return 10;System.out.pri nt(aj+);elseret
48、ur n getAge(m-1, n)+n;【程序24】題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、 逆序打印出各位數(shù)字。public class Prog24public static void main(String args)int n = In teger.parsel nt(args0);int i = 0;in t a = new in t5;doai = n %10;n /= 10;+i;while( n!=0);System.out.print(這是一個+i+位數(shù),從個位起,各位數(shù)字依次為:);e.pri ntStackTrace();for(i nt j=O;
49、ji;j+)【程序25】題目:一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個 位與萬位相同,十位與千位相同。import java.io.*;public class Prog25public static void main(String args)int n二0;System.out.print(請輸入一個5位數(shù):);BufferedReaderbufi n二new BufferedReader( newIn putStreamReader(System.i n);tryn二In teger.parse In t(bufi n.readL in e();catch(IOExcep
50、tio n e)e.pri ntStackTrace();fin allytrybufi n.close();catch(IOExceptio n e)e.pri ntStackTrace();pali n(n);private static void palin(int n)int m = n;in t a = new in t5;if(n 99999)System.out.pr intln(” return;elsefor(int i=0;i5;i+)ai = n %10;n /= 10;if(a0=a4 & a1=a3)System.out.pri ntln (m+elseSys
51、tem.out.pri ntln (m+ 【程序26】題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個輸入的不是5位數(shù)!);是一個回文數(shù));不是回文數(shù));字母一樣,則繼續(xù)判斷第二個字母。程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況 語句或if語句判斷第二個字母。import java.io.*;public class Prog26public static void main(String args)Stri ng str = new Stri ng();BufferedReader bufl n二newBufferedReader( newIn putStreamReader(System.i n);System.out.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 25187-2024表面化學分析俄歇電子能譜選擇儀器性能參數(shù)的表述
- 2024年度網(wǎng)絡安全應急響應服務知識產(chǎn)權購買與支持合同3篇
- 2024年信貸擔保與借款人戰(zhàn)略合作框架協(xié)議3篇
- 2024年年度代收貨款服務與金融機構戰(zhàn)略合作協(xié)議3篇
- 2024年度光伏發(fā)電項目土木工程總承包服務協(xié)議3篇
- 2024年幼兒園入園合同范本與幼兒心理輔導與家長溝通協(xié)議3篇
- 2024協(xié)議書數(shù)據(jù)中心電路改造與擴容服務合同3篇
- 2024年新版房產(chǎn)銷售代理合同3篇
- 2024年新能源主題燈箱廣告創(chuàng)意制作合同3篇
- 2024年度酒店行業(yè)員工入職勞動合同范本3篇
- 2024年社區(qū)工作者考試必考1000題【歷年真題】
- 公司安全事故隱患內部舉報、報告獎勵制度
- 2024年WPS計算機二級考試題庫350題(含答案)
- 冬季傳染病預防-(課件)-小學主題班會課件
- 廣東金融學院會計學原理模擬題
- 對球閥(球閥配件)的檢驗要求
- 《計算機控制技術》自學指導書
- 晶向指數(shù)與晶面指數(shù)精講
- 畢業(yè)設計基于PLC控制的汽車清洗裝置
- 四等水準測量外業(yè)記錄表
- 建筑制圖學習基礎實訓報告
評論
0/150
提交評論