《C#程序設(shè)計基礎(chǔ)》習習題庫程序_第1頁
《C#程序設(shè)計基礎(chǔ)》習習題庫程序_第2頁
《C#程序設(shè)計基礎(chǔ)》習習題庫程序_第3頁
《C#程序設(shè)計基礎(chǔ)》習習題庫程序_第4頁
《C#程序設(shè)計基礎(chǔ)》習習題庫程序_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C#程序設(shè)計基礎(chǔ)習題庫程序 2010年6月3日提供給信息中心的原稿 20分題 50個 40分題 24個1. (20)編一個程序,定義常量Pi=3.,從鍵盤上輸入半徑r,求出圓的面積。(k003101)2.(20) 編一個程序,定義三個double類型的變量,分別從鍵盤上輸入值給它們,然后用方法把它們輸出成一列,小數(shù)點對齊,保留3位小數(shù)。(k)3.(20)編一個程序,從鍵盤上輸入三個數(shù),用三元運算符( :)把最大數(shù)找出來。(k)4.(20)編一個程序,從鍵盤上輸入三個數(shù),用三元運算符( :)把最小數(shù)找出來。(k) 5(20)編一個程序,輸入一個字符,如果是大寫字母,就轉(zhuǎn)換成小寫字母,否則不轉(zhuǎn)換。

2、(k1003205)6(20)輸入一個字符,判定它是什么類型的字符(大寫字母,小寫字母,數(shù)字或者其它字符)(k)7(20)編一個程序,設(shè)圓的半徑r=,高h=,定義圓周率常量Pi=,求出圓柱的體積。(k)8. (20)編一個程序,設(shè)園半徑r=,園柱高h=,圓周率定義為常量,求出圓周長、圓面積、圓柱體積。然后用方法輸出計算結(jié)果,輸出時要求有文字說明,取小數(shù)點后2位數(shù)字。例如,圓周長=×××××。(k) 9(20)編一個程序,輸入一個字符,如果輸入的字符是大寫字母,則轉(zhuǎn)換為小寫字母;如果輸入的字符是小寫字母,則轉(zhuǎn)換為大寫字母,否則不轉(zhuǎn)換。(k)10(

3、20)編一個程序,定義結(jié)構(gòu)類型(有學號、姓名、性別和程序設(shè)計成績四個字段),聲明該結(jié)構(gòu)類型變量,用賦值語句對該變量賦值以后再輸出。(k)11.(20)編一個程序,定義一個實數(shù)變量,從鍵盤上輸入一個值,如果這個值在閉區(qū)間0,100里,則加上1000,否則不加。最后輸出結(jié)果。(k)12.(20)編一個程序,輸入一個整數(shù),使用if else語句,如果該數(shù)大于0,則加上100,否則加上500,輸出結(jié)果。(k)13.(20)編一個程序,用if else語句,輸入一個整數(shù),如果該數(shù)大于0,則輸出"這個數(shù)大于零。",如果該數(shù)等于0,則輸出"這個數(shù)等于零。",否則輸出&

4、quot;這個數(shù)小于零。"。(k) 14(20)編一個程序,輸入一個正數(shù),對該數(shù)進行四舍五入到個位數(shù)的運算。例如,實數(shù)經(jīng)過四舍五入運算,得到結(jié)果13;而經(jīng)過四舍五入運算,得到結(jié)果12。 (k)15.(20)編寫一個程序,定義三個float類型的變量,分別從鍵盤上輸入值給它們, 然后用if else選擇語句找出它們中的最小數(shù),最后輸出結(jié)果。(k)16.(20)編一個程序,輸入三個實數(shù),要求使用if else語句把它們的中間數(shù)找出來,可以使用邏輯運算符。(k)17(20)編一個程序,首先輸入一個成績(0到100的整數(shù)),用if else語句然后判斷該成績是優(yōu)、良、中、及格還是不及格。(k

5、)18(20)編一個程序,輸入0100之間的一個學生成績分數(shù),用switch語句輸出成績等第(成績優(yōu)秀(90-100),成績良好(80-89),成績及格(60-79)和成績不及格(59以下)。(k)19(20)編一個程序,利用do-while循環(huán)語句,從鍵盤上輸入10個整數(shù),求出它們的和。(k)20.(20) 編一個程序,用while循環(huán)語句來計算1+1/2+2/3+3/4+.+99/100之和。(k)21(20)編一個程序,用do-while循環(huán)語句來計算PI=4*(1-1/3+1/5+.+1/n),要求當1/n<時停止計算。(k)22(20)編一個程序,從鍵盤上輸入二個實數(shù),使用Ma

6、th類中Max()和Min()方法,求出它們中的最大數(shù)和最小數(shù)。(k)23(20)編一個程序,利用while循環(huán)語句和Math類中的Pow()方法,求出1到10的各個數(shù)的平方之和。(k) 24.(20)編一個程序,打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如, 153=1*1*1+5*5*5+3*3*3,所以153是“水仙花數(shù)”。(k)25(20)編寫一個程序,用while語句,求出1+(1+2)+(1+2+3)+.+(1+2+3+.+10)之和。(k)26(20)編一個程序,輸入二個正整數(shù),求出它們的最大公約數(shù)。(k)27(20)編一個程序,用

7、while循環(huán)語句,從鍵盤輸入10個數(shù),要求找出最大數(shù)和次大數(shù)。(k)28(40)編一個程序,要求使用while語句,輸入用戶名和密碼,實現(xiàn)用戶登錄程序的功能,至多允許輸入三次,超過三次不允許登錄。(k)29(20)有關(guān)系式1*1+2*2+3*3+.+k*k<2000,編一個程序,求出滿足此關(guān)系式的k的最大值。(k)30(20)編寫一個程序,要求用while循環(huán)語句,打印1到100的正整數(shù),每行打印5個數(shù),每列右對齊。(k)31(20)Fibonacci序列的前二項是0和1,且每一個后繼項是前二項的和。編一個程序,輸出項值不大于100的Fibonacci序列。(k)32(40)編一個程序

8、,輸入a,b,c的值,求出一元二次方程a*x*x+b*x+c=0的二個實數(shù)根。計算二個實數(shù)根必須使用Math類中的Sqrt()方法,計算指定數(shù)的開方。計算二個實數(shù)根,可以用公式(-b+(b*b-4*a*c)/(2*a)和(b*b-4*a*c)/(2*a) (k)33編一個程序,利用while循環(huán)語句,找出2到100之間的素數(shù)。(k)34(20)編一個程序,用while循環(huán)語句實現(xiàn)下列功能:有一籃雞蛋,不止一個,有人兩個兩個數(shù),多余一個,三個三個數(shù),多余一個,再四個四個地數(shù),也多余一個,請問這籃雞蛋至少有多少個。(k)35(20)編一個程序,用for循環(huán)語句求出1到100之間的奇數(shù)之和。(k)3

9、6. (20)編一個程序,利用二重for循環(huán)語句,打印出九九乘法口訣表。(k)37(20)編一個程序,定義一個有10個元素的數(shù)組,使用for循環(huán)語句,從鍵盤上輸入10名同學的數(shù)學成績,分別求出最高分和最低分,并且求出10名同學的數(shù)學平均成績。(k)38(20)編一個程序,利用for循環(huán)語句,求出1!+2!+3!+.+10!的和。(k) 39(20)編一個程序,用for循環(huán)語句求出1到100之間的奇數(shù)之和,以及偶數(shù)之和。(k1002601)40(20)編一個程序,用for循環(huán)語句,從鍵盤輸入10個實數(shù),分別求出它們中的正數(shù)之和,以及負數(shù)之和。(k)41.(20)編一個程序,把一張1元的鈔票換成5

10、分,2分和1分的硬幣,要求每種至少一枚,并且所換硬幣數(shù)不超過30枚。請問,有哪幾種換法(k)42.(20)編一個程序,把一張面值100元的鈔票換成5元,1元和5角面值的鈔票,要求100元換以上的零錢100張,且要求每種不少于一張。請問,有哪幾種換法(k)43.(20)編一個程序,解決百錢買百雞問題。某人有100元錢,要買100只雞。公雞5元錢一只,母雞3元錢一只,小雞一元錢3只。問可買到公雞,母雞,小雞各為多少只。問題分析:設(shè)公雞x只,母雞y只,小雞z只,可以列出兩個方程:x+y+z=100 5x+3y+z/3=100我們采用“窮舉法”來解決此問題。(k)44(20)編一個程序,定義數(shù)組,用f

11、or循環(huán)語句,順序輸入10個實數(shù),然后逆序輸出這10個數(shù)。(k)45(40)編一個程序,從鍵盤輸入10個實數(shù),存入一個數(shù)組,用冒泡法對這個數(shù)作升序排序。(k)46(40)編一個程序,定義一個有10個元素的一維數(shù)組a,在鍵盤上輸入時沒有大小次序,但是存入數(shù)組時要按由小到大的順序存放。例如,輸入第1個數(shù)1時,存入a0;假如第2個數(shù)是5,則數(shù)存入a1;假如第3個數(shù)是4,那么把前面輸入的5向后面移動到a2,把4插入到a1的位置上,這樣使得每輸入一個數(shù),保持從小到大的順序排列。(k) 47(20)編一個程序,定義一個數(shù)組,用for語句輸入10個實數(shù)存入這個數(shù)組,然后按逆序重新存放后再輸出。(k)48(2

12、0)編一個程序,從鍵盤輸入一個字符串,用foreach循環(huán)語句,統(tǒng)計其中大寫字母的個數(shù)和小寫字母的個數(shù)。(k)49. (40)編一個程序,定義一個字符數(shù)組和一個字符串變量,給這個字符串變量輸入一個字符串,然后用foreach語句把這個字符串拷貝到字符數(shù)組里,最后輸出字符數(shù)組。(k)50(20)輸入一個字符串,將其中小寫字母改成大寫字母,把大寫字母改成小寫字母,其余字符不變,輸出該字符串。(k)51(20)編一個程序,輸入一個字符串,用ToCharArray()方法把字符串中的內(nèi)容拷貝到字符數(shù)組中,然后用foreach輸出該字符數(shù)組。(k)52(20)編一個程序,定義一個字符串變量,輸入字符串,

13、然后再輸入一個字符,在字符串中查找該字符出現(xiàn)的次數(shù)。(k) 53(40)編一個程序,定義一個字符串變量,輸入字符串,判斷有沒有連續(xù)重復(fù)字符出現(xiàn),統(tǒng)計重復(fù)字符出現(xiàn)次數(shù)。例如,aaabccdfff,其中a重復(fù)出現(xiàn)二次,c重復(fù)出現(xiàn)一次,f重復(fù)出現(xiàn)二次,共計字符重復(fù)五次。(k)54(20)編一個程序,利用for語句,打印一個如下形式的一個直角三角形,頂點在屏幕中線上,行數(shù)從鍵盤輸入。 * * * * (k)55. (40)編一個程序,利用for語句,打印一個如下形式的一個等腰三角形,頂點在屏幕中線上,行數(shù)從鍵盤輸入。 * * * * (k)56(40)定義一個一維數(shù)組,輸入任意6個整數(shù),假定為7,4,

14、8,9,1,5。編一個程序,利用for語句,輸出如下方陣的內(nèi)容: 7 4 8 9 1 5 5 7 4 8 9 1 1 5 7 4 8 9 9 1 5 7 4 8 8 9 1 5 7 4 4 8 9 1 5 7( k)57(20)編一個程序,定義一個n行n列的二維整數(shù)數(shù)組,賦初值,然后求出對角線上的元素之和。(k)58(40)編一個程序,輸入一個正整數(shù),判斷它是否為素數(shù)。如不是,則輸出其所有正約數(shù)。(k)59(40)編一個程序,輸入一個代表身份證號碼的字符串,判斷字符串長度(18)是否正確,還要判斷輸入的每個字符是否為數(shù)字。否則要求重新輸入。(k)60(40)編一個程序,輸入一個正整數(shù)n,把它轉(zhuǎn)

15、換為二進制數(shù),并輸出。提示:應(yīng)該利用數(shù)組。(k)61. (40)所謂“降序數(shù)”是指一個自然數(shù)的低位數(shù)字不大于高位數(shù)字的數(shù)。例如:64,55,321都認為是降序數(shù),但是623不是降序數(shù)。一位數(shù)字被認為是降序數(shù)。編一個程序,輸入一個數(shù),判定它是否為降序數(shù)。該程序是循環(huán)執(zhí)行的,當輸入的數(shù)為0時,則退出程序運行。(k)62(40)所謂“回文數(shù)”是指讀一個自然數(shù),從正方向讀和反方向讀,結(jié)果是一樣的。例如:646,1551,8都認為是回文數(shù)。編一個程序,輸入一個正整數(shù),判定它是否為回文數(shù)。當輸入的數(shù)為0時,則退出程序,否則繼續(xù)循環(huán)執(zhí)行程序。(k)63(40)編一個程序,定義一個n行n列的二維數(shù)組,例如,n

16、=4,輸入該數(shù)組的全部數(shù)據(jù)??梢栽诙x數(shù)組時賦于常量值。求二維數(shù)組中這樣元素的位置:它在行上是最小,在列上也是最小。(注意:它未必是整個數(shù)組的最小元素。k)64(40)給定一個m×n的數(shù)值矩陣A,如果矩陣A中存在這樣的一個元素Aij滿足條件:Aij是第i行中值最小的元素,且又是第j列中值最大的元素,則稱之為該矩陣的一個馬鞍點。編寫一個方法計算出m*n的矩陣A的所有馬鞍點。 (k)65.(40)編一個程序,輸入一個整數(shù),判定它為幾位數(shù)。例如,99是2位數(shù),-100是3位數(shù)。(k)66(40)編一個程序,定義一個字符串數(shù)組,輸入若干國家名稱(所有名稱全用大寫或者全用小寫),設(shè)計一個算法按

17、字典順序?qū)⑦@些國家名稱進行排序。(k)67.(20)編一個程序,定義類student和它的成員(學號,姓名,年齡和c_sharp程序設(shè)計成績),用類student生成對象s,分別對對象s的成員賦值,然后輸出對象s。(k)68. (20)編一個程序,定義結(jié)構(gòu)(有姓名,年齡,手機號碼三個字段),再定義一個一維數(shù)組,把結(jié)構(gòu)作為數(shù)組元素類型,存入數(shù)據(jù),然后依次輸出。(k)69.(40)編一個程序,定義類(有姓名,年齡,手機號碼三個字段),再定義一個一維數(shù)組,使數(shù)組元素為類,存入數(shù)據(jù),然后依次輸出,使用for循環(huán)語句進行輸入輸出操作。(k)70. (40)編一個程序,輸入三個double類型數(shù)據(jù),自定義

18、一個靜態(tài)方法,把這三個數(shù)送給它,返回找出的最大數(shù)。(k)71(40)編一個程序,利用自定義方法,找出2到100之間的素數(shù)。(k)72(40)編一個程序,從鍵盤上輸入三個double類型的數(shù),自定義方法,以從小到大的順序排序,以引用型參數(shù)調(diào)用方法,然后返回主方法輸出結(jié)果。(k)73.(40) 編一個程序,輸入a,b,c的值,定義一個靜態(tài)方法,求出一元二次方程a*x*x+b*x+c=0的二個實數(shù)根。計算二個實數(shù)根必須使用Math類中的Sqrt()方法,計算指定數(shù)的開方。計算二個實數(shù)根,可以用公式(-b+(b*b-4*a*c)/(2*a)和(b*b-4*a*c)/(2*a)。(k)74. (40)編

19、一個程序,定義一個數(shù)組,再定義類以及方法,用方法(out參數(shù)傳遞數(shù)據(jù))找出這組數(shù)據(jù)中的最大數(shù)和最小數(shù)。(k)75.(40)編一個程序,定義一個類,該類中定義二個非靜態(tài)方法,一個方法用來求出這個三角形的周長,另一個方法用來求出這個三角形的面積。已知三角形三條邊a,b,c,計算其面積可以用Math類中的Sqrt()方法,有表達式(s*(s-a)*(s-b)*(s-c),可以利用它計算指定數(shù)的開方,其中s=(a+b+c)/2。在主方法中輸入一個三角形三條邊a,b,c,要求調(diào)用這二個非靜態(tài)方法計算三角形的周長和面積。注意:在輸入三角形三條邊時,必須檢查它們的數(shù)據(jù)合法性。(k) C#程序設(shè)計基礎(chǔ)習題庫程

20、序 2010年6月3日提供給信息中心的原稿 20分題 50個 40分題 24個1.(20)編一個程序,定義常量Pi=3.,從鍵盤上輸入半徑r,求出圓的面積。(k003101)const double Pi = 3.;double r,s;("請輸入圓的半徑");r = ();s = Pi * r * r;("圓的面積是0",s);2.(20) 編一個程序,定義三個double類型的變量,分別從鍵盤上輸入值給它們,然后用方法把它們輸出成一列,小數(shù)點對齊,保留3位小數(shù)。(k)double x, y, z;("請輸入一個數(shù):");x = (

21、);("請輸入一個數(shù):");y = ();("請輸入一個數(shù):");z = ();("0,10:f3", x);("0,10:f3", y);("0,10:f3", z);20)編一個程序,從鍵盤上輸入三個數(shù),用三元運算符( :)把最大數(shù)找出來。(k)float x, y, z, temp;("請輸入一個實數(shù):");x = ();("請輸入一個實數(shù):");y = ();("請輸入一個實數(shù):");z = ();temp = x >=

22、y x : y;temp = temp >= z temp : z;("最大數(shù)為:0", temp);4.(20)編一個程序,從鍵盤上輸入三個數(shù),用三元運算符( :)把最小數(shù)找出來。(k) float x, y, z, temp;("請輸入一個實數(shù):");x = ();("請輸入一個實數(shù):");y = ();("請輸入一個實數(shù):");z = ();temp = x <= y x : y;temp = temp <= z temp : z;("最大數(shù)為:0", temp);5(2

23、0)編一個程序,輸入一個字符,如果是大寫字母,就轉(zhuǎn)換成小寫字母,否則不轉(zhuǎn)換。(k1003205)char ch;("請輸入一個字符");ch = ();if (ch >= 'A' && ch <= 'Z')ch = (char)(ch + 32);(ch);6(20)輸入一個字符,判定它是什么類型的字符(大寫字母,小寫字母,數(shù)字或者其它字符)(k)char ch;("請輸入一個字符");ch = ();if (ch >= 'A' && ch <= &#

24、39;Z')("大寫字母");else if (ch >= 'a' && ch <= 'z')("小寫字母");else if (ch >= '0' && ch <= '9')("數(shù)字");else("其他字母");7(20)編一個程序,設(shè)圓的半徑r=,高h=,定義圓周率常量Pi=,求出圓柱的體積。(k)const double Pi = ;double r=,h=;double v;v

25、= Pi * r * r * h;("圓柱體的體積是0",v);8. (20)編一個程序,設(shè)園半徑r=,園柱高h=,圓周率定義為常量,求出圓周長、圓面積、圓柱體積。然后用方法輸出計算結(jié)果,輸出時要求有文字說明,取小數(shù)點后2位數(shù)字。例如,圓周長=×××××。(k) const double Pi = ;double r = 3, h = 5;double c, s, v;c = 2 * Pi * r;s = Pi * r * r;v = Pi * r * r * h;("圓的周長為0:f2",c);(&qu

26、ot;圓的面積為0:f2", s);("圓的體積為0:f2", v);9(20)編一個程序,輸入一個字符,如果輸入的字符是大寫字母,則轉(zhuǎn)換為小寫字母;如果輸入的字符是小寫字母,則轉(zhuǎn)換為大寫字母,否則不轉(zhuǎn)換。(k)char ch,c;("請輸入一個字符");ch = ();if (ch >= 'A' && ch <= 'Z')c = (char)(ch + 32);("字符0為大寫字母,轉(zhuǎn)換為小寫字母為1", ch, c);else if (ch >= '

27、;a' && ch <= 'z')c = (char)(ch - 32);("字符0為小寫字母,轉(zhuǎn)換為大寫字母為1", ch, c);else("0既不是大寫字母也不是小寫字母",ch);10(20)編一個程序,定義結(jié)構(gòu)類型(有學號、姓名、性別和程序設(shè)計成績四個字段),聲明該結(jié)構(gòu)類型變量,用賦值語句對該變量賦值以后再輸出。(k)struct studentpublic int no;public string name;public string sex;public double score;class P

28、rogramstatic void Main(string args)student stu; = 10003; = "小小" = "女" = ;("學生的學號是0,名字叫1,性別是2,程序設(shè)計的成績是3",;11.(20)編一個程序,定義一個實數(shù)變量,從鍵盤上輸入一個值,如果這個值在閉區(qū)間0,100里,則加上1000,否則不加。最后輸出結(jié)果。(k)float f,g;("請輸入一個實數(shù)變量");f = ();if (f >= 0 && f <= 100)g = f + 1000;(&q

29、uot;0在0-100之間,最后結(jié)果為1", f, g);else("0不在0-100之間",f);12.(20)編一個程序,輸入一個整數(shù),使用if else語句,如果該數(shù)大于0,則加上100,否則加上500,輸出結(jié)果。(k)int i,j;("請輸入一個整數(shù)");i = ();if (i > 0)j = i + 100;("0>0,最后結(jié)果是1", i, j);elsej = i + 500;("0<0,最后結(jié)果是1",i,j);13.(20)編一個程序,用if else語句,輸入一個

30、整數(shù),如果該數(shù)大于0,則輸出"這個數(shù)大于零。",如果該數(shù)等于0,則輸出"這個數(shù)等于零。",否則輸出"這個數(shù)小于零。"。(k)int i;("請輸入一個整數(shù)");i = ();if (i > 0)("這個數(shù)大于0");else if(i=0)("這個數(shù)等于0");else("這個數(shù)小于0"); 14(20)編一個程序,輸入一個正數(shù),對該數(shù)進行四舍五入到個位數(shù)的運算。例如,實數(shù)經(jīng)過四舍五入運算,得到結(jié)果13;而經(jīng)過四舍五入運算,得到結(jié)果12。 (k)do

31、uble d;int i,e;("請輸入一個正數(shù)");d = ();i=(int)d;if (d - i) >= e = i + 1;elsee = i;("0四舍五入的結(jié)果為1", d, e);15.(20)編寫一個程序,定義三個float類型的變量,分別從鍵盤上輸入值給它們, 然后用if else選擇語句找出它們中的最小數(shù),最后輸出結(jié)果。(k)float x, y, z,min=0;("請輸入三個float類型的值");x = ();y = ();z = ();if (x < y && x < z

32、)min = x;else if (y < x && y < z)min = y;elsemin = z;("這三個數(shù)中的最小值為0",min);16.(20)編一個程序,輸入三個實數(shù),要求使用if else語句把它們的中間數(shù)找出來,可以使用邏輯運算符。(k)float x, y, z, second = 0;("請輸入三個float類型的值");x = ();y = ();z = ();if (x>y&&x<z)|(x<y&&x>z)second = x;else if

33、 (y>x&&y<z)|(y<x&&y>z)second = y;elsesecond = z;("這三個數(shù)中的中間數(shù)為0", second);17(20)編一個程序,首先輸入一個成績(0到100的整數(shù)),用if else語句然后判斷該成績是優(yōu)、良、中、及格還是不及格。(k)double score;("請輸入一個成績");score = ();if (score >= 90)("優(yōu)");else if (score >= 80)("良");els

34、e if (score >= 70)("中");else if (score >= 60)("及格");else("不及格");18(20)編一個程序,輸入0100之間的一個學生成績分數(shù),用switch語句輸出成績等第(成績優(yōu)秀(90-100),成績良好(80-89),成績及格(60-79)和成績不及格(59以下)。(k)int score;("請輸入學生成績");score = ();score = score / 10;switch (score)case 10:("成績優(yōu)秀")

35、;break;case 9:("成績優(yōu)秀");break;case 8:("成績良好");break;case 7:("成績及格");break;case 6:("成績及格");break;default:("成績不及格");break;19(20)編一個程序,利用do-while循環(huán)語句,從鍵盤上輸入10個整數(shù),求出它們的和。(k)int i=1,n,sum=0;do("請輸入一個整數(shù)");n = ();sum = sum + n;i+;while(i<=10);(&

36、quot;這十個整數(shù)的和為0",sum);20.(20) 編一個程序,用while循環(huán)語句來計算1+1/2+2/3+3/4+.+99/100之和。(k)double i = 1,s=1;while(i<=99)s = s + i / (i + 1);i+;("和為0",s);21(20)編一個程序,用do-while循環(huán)語句來計算PI=4*(1-1/3+1/5+.+1/n),要求當1/n<時停止計算。(k)double pi,s=0,x;double n=1;dox = (-1,n + 1) / (2 * n - 1);s = s + x;n+; wh

37、ile (1 / n >= ;pi = s * 4;("pi的值為:0",pi);22(20)編一個程序,從鍵盤上輸入二個實數(shù),使用Math類中Max()和Min()方法,求出它們中的最大數(shù)和最小數(shù)。(k)double d1, d2,max,min;("請輸入兩個實數(shù)");d1 = ();d2 = ();max=(d1,d2);min = (d1,d2);("最大值為0,最小值為1",max,min);23(20)編一個程序,利用while循環(huán)語句和Math類中的Pow()方法,求出1到10的各個數(shù)的平方之和。(k) doubl

38、e i = 1,s=0;while (i <= 10)s = s + (i, 2);i+;("和為0",s);24.(20)編一個程序,打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如, 153=1*1*1+5*5*5+3*3*3,所以153是“水仙花數(shù)”。(k)int a, i, j, k;for (a = 100; a <= 999; a+)i = a % 10;k = a / 100;j = a % 100 / 10;if (a = (i, 3) + (j, 3) + (k, 3)("0是水仙花數(shù)&qu

39、ot;,a);25(20)編寫一個程序,用while語句,求出1+(1+2)+(1+2+3)+.+(1+2+3+.+10)之和。(k)int i = 1, s = 0,j=1, s1 = 0;while (j <=10)while (i <= j)s = s + i;i+;s1=s1+s;j+;("0", s1);26(20)編一個程序,輸入二個正整數(shù),求出它們的最大公約數(shù)。(k)int i, j,k;("請輸入兩個正整數(shù)");i = ();j = ();k = i < j i : j;while (!(i % k = 0 &&

40、amp; j % k = 0)k-;("最大公約數(shù)為0",k);27(20)編一個程序,用while循環(huán)語句,從鍵盤輸入10個數(shù),要求找出最大數(shù)和次大數(shù)。(k)int i=1,max=1,max1=1;int s;("請輸入10個數(shù):");while (i<=10)s = ();if (s > max)max1 = max;max = s;else if (s > max1)s = max1;i+;("最大值為0,次大值為1",max,max1);28(40)編一個程序,要求使用while語句,輸入用戶名和密碼,實現(xiàn)

41、用戶登錄程序的功能,至多允許輸入三次,超過三次不允許登錄。(k)const string UserName = "admin"const string PassWord = "123456"string username, password;int i=1;while(i<=3)("請輸入用戶名");username = ();("請輸入密碼");password = ();if (username = UserName && password = PassWord)break;else(&q

42、uot;你輸入的用戶名或者密碼錯誤,請重新輸入用戶名和密碼");i+;if (i <= 3)("正在登錄系統(tǒng)");else("不能登錄系統(tǒng)");29(20)有關(guān)系式1*1+2*2+3*3+.+k*k<2000,編一個程序,求出滿足此關(guān)系式的k的最大值。(k)int k = 1,s=0;while (s < 2000)s = s + k * k;k+;("k的值為0",k-2);30(20)編寫一個程序,要求用while循環(huán)語句,打印1到100的正整數(shù),每行打印5個數(shù),每列右對齊。(k)int i = 1;w

43、hile (i <= 100)("0,10:d1",i);if (i % 5 = 0)();i+;31(20)Fibonacci序列的前二項是0和1,且每一個后繼項是前二項的和。編一個程序,輸出項值不大于100的Fibonacci序列。(k)int f1 = 0;int f2 = 1;int f3;while(f1<100)f3=f1+f2;("0,",f1);f1=f2;f2=f3;32(40)編一個程序,輸入a,b,c的值,求出一元二次方程a*x*x+b*x+c=0的二個實數(shù)根。計算二個實數(shù)根必須使用Math類中的Sqrt()方法,計算指

44、定數(shù)的開方。計算二個實數(shù)根,可以用公式(-b+(b*b-4*a*c)/(2*a)和(b*b-4*a*c)/(2*a) (k)int a, b, c;double x1, x2;("請輸入a,b,c的值");a = ();b = ();c = ();if (b * b - 4 * a * c >= 0)x1 = (-b + (b * b - 4 * a * c) / (2 * a);x2 = (-b - (b * b - 4 * a * c) / (2 * a);("這個方程的兩個根是0,1", x1, x2);else("這個方程沒有解&

45、quot;);33編一個程序,利用while循環(huán)語句,找出2到100之間的素數(shù)。(k)int i = 2, j;bool b;("2到100中的素數(shù)為:");while (i <= 100)b = true;j = 2;while (j <= i - 1)if (i % j = 0)b = false;break;j+;if (b=true) ("0 ", i);i+;();34(20)編一個程序,用while循環(huán)語句實現(xiàn)下列功能:有一籃雞蛋,不止一個,有人兩個兩個數(shù),多余一個,三個三個數(shù),多余一個,再四個四個地數(shù),也多余一個,請問這籃雞蛋至

46、少有多少個。(k)int num=2;while(num<10000)if (num % 2 = 1 && num % 3 = 1 && num % 4 = 1)("這籃雞蛋至少有0個", num);break;num+;35(20)編一個程序,用for循環(huán)語句求出1到100之間的奇數(shù)之和。(k)int i,s=0;for (i = 1; i <= 100; i = i + 2)s = s + i;("1-100之間所有奇數(shù)的和為0",s);36.(20)編一個程序,利用二重for循環(huán)語句,打印出九九乘法口訣表

47、。(k)int s;for (int i = 1; i <= 9; i+)for(int j=1;j<=i;j+)s=i*j;("0*1=2 ",j,i,s);();37(20)編一個程序,定義一個有10個元素的數(shù)組,使用for循環(huán)語句,從鍵盤上輸入10名同學的數(shù)學成績,分別求出最高分和最低分,并且求出10名同學的數(shù)學平均成績。(k)double math=new double 10;("請輸入10名學生的數(shù)學成績");for (int i = 0; i < ; i+)mathi = ();double max=math0, min=m

48、ath0,ave,sum=0;for (int j = 0; j < ; j+)if (max < mathj)max = mathj;if (min > mathj)min = mathj;sum = sum + mathj;ave = sum / ;("最高分為0,最低分為1,平均分為2",max,min,ave);38(20)編一個程序,利用for循環(huán)語句,求出1!+2!+3!+.+10!的和。(k) int s = 0, jc = 1;for (int j = 1; j <= 10; j+)jc = jc * j;s = s + jc;(&q

49、uot;1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的和為0", s);39(20)編一個程序,用for循環(huán)語句求出1到100之間的奇數(shù)之和,以及偶數(shù)之和。(k1002601)long i, j, m, s = 0;for (i = 1; i <= 10; i+)m = 1;for (j = 1; j <= i; j+) m = m * j;s = s + m;("1!+2!+3!+.+10!=" + s);40(20)編一個程序,用for循環(huán)語句,從鍵盤輸入10個實數(shù),分別求出它們中的正數(shù)之和,以及負數(shù)之和。(k)int i;doub

50、le sum1 = 0, sum2 = 0, x;for (i = 1; i <= 10; i+)("請輸入一個實數(shù):");x = ();if (x > 0)sum1 += x;elsesum2 += x;("正數(shù)之和:0,負數(shù)之和:1", sum1, sum2);41.(20)編一個程序,把一張1元的鈔票換成5分,2分和1分的硬幣,要求每種至少一枚,并且所換硬幣數(shù)不超過30枚。請問,有哪幾種換法(k)int i, j, k;("一分:t二分:t五分:");for (i = 1; i <= 100; i+)for (

51、j = 1; j <= 50; j+)for (k = 1; k <= 20; k+)if (i + 2 * j + 5 * k = 100 && i + j + k <= 30) ("0枚t1枚t2枚", i, j, k);42.(20)編一個程序,把一張面值100元的鈔票換成5元,1元和5角面值的鈔票,要求100元換以上的零錢100張,且要求每種不少于一張。請問,有哪幾種換法(k)int i, j, k;20)編一個程序,解決百錢買百雞問題。某人有100元錢,要買100只雞。公雞5元錢一只,母雞3元錢一只,小雞一元錢3只。問可買到公雞,

52、母雞,小雞各為多少只。問題分析:設(shè)公雞x只,母雞y只,小雞z只,可以列出兩個方程:x+y+z=100 5x+3y+z/3=100我們采用“窮舉法”來解決此問題。(k)double z;for( double x=1;x<=20;x+)for (double y = 1; y <= 33; y+)z = 100 - x - y;if (5 * x + 3 * y + z / 3 = 100)("公雞0只,母雞1只,小雞2只",x,y,z);44(20)編一個程序,定義數(shù)組,用for循環(huán)語句,順序輸入10個實數(shù),然后逆序輸出這10個數(shù)。(k)int i;int a

53、= new int10;for (i = 0; i < 10; i+)("請輸入一個數(shù):");ai = ();();for (i = 9; i >= 0; i-)("0 ", ai);();45(40)編一個程序,從鍵盤輸入10個實數(shù),存入一個數(shù)組,用冒泡法對這個數(shù)作升序排序。(k)int i, j, temp;const int n = 10;int SortArray = new intn;for (i = 0; i < n; i+)("n請輸入一個數(shù):");SortArrayi = ();("n等待排

54、序的數(shù)據(jù)序列為:");for (i = 0; i < n; i+)("0 ", SortArrayi);for (i = n - 1; i >= 0; i-)for (j = 0; j <= i - 1; j+)if (SortArrayj > SortArrayj + 1)temp = SortArrayj;SortArrayj = SortArrayj + 1;SortArrayj + 1 = temp;("n已經(jīng)排序后的數(shù)據(jù)序列為:");for (i = 0; i < n; i+)("0 "

55、;, SortArrayi);();46(40)編一個程序,定義一個有10個元素的一維數(shù)組a,在鍵盤上輸入時沒有大小次序,但是存入數(shù)組時要按由小到大的順序存放。例如,輸入第1個數(shù)1時,存入a0;假如第2個數(shù)是5,則數(shù)存入a1;假如第3個數(shù)是4,那么把前面輸入的5向后面移動到a2,把4插入到a1的位置上,這樣使得每輸入一個數(shù),保持從小到大的順序排列。(k) int i, j, temp, n = 10;int a = new intn;("請輸入0個整數(shù)。", n);for (i = 0; i < n; i+)("請輸入一個整數(shù):");ai = ()

56、;for (j = i; j >= 1; j-)if (aj - 1 > aj)temp = aj - 1;aj - 1 = aj;aj = temp;elsebreak;("n依次輸出數(shù)組中的值:");for (i = 0; i < n; i+)("0 ", ai);();47(20)編一個程序,定義一個數(shù)組,用for語句輸入10個實數(shù)存入這個數(shù)組,然后按逆序重新存放后再輸出。(k)double a = new double10;double temp;for (int i = 0; i < 10; i+)("請輸入一

57、個實數(shù):");ai = ();for (int i = 0; i < 10 / 2; i+)temp = ai;ai = a9 - i;a9 - i = temp;for (int i = 0; i < 10; i+) (" 0", ai);();48(20)編一個程序,從鍵盤輸入一個字符串,用foreach循環(huán)語句,統(tǒng)計其中大寫字母的個數(shù)和小寫字母的個數(shù)。(k)string s;int n1=0,n2=0;("請輸入一個字符串");s = ();foreach (char c in s)if (c >= 'A'

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論