版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1頁(yè)共1頁(yè)C#編程考試習(xí)題以下有18道習(xí)題(當(dāng)然,這并非全部的習(xí)題,最后應(yīng)該會(huì)多增加2題,共20題),對(duì)于這20道題目,要求大家每道題目都能夠做到看到題目,不看其他參考材料的情況下,能夠?qū)崿F(xiàn)出來(lái)。期末考將會(huì)從中抽取三道題目(分?jǐn)?shù)占60分),而期末考其實(shí)是要出三份試卷的。所以總的需要從這份里面抽9道題目。也就是這20題中有9題是肯定會(huì)出現(xiàn)在試卷中的。對(duì)于本科目最后成績(jī)的說(shuō)明:總評(píng)成績(jī)=平時(shí)成績(jī)*50%+期末成績(jī)*50%平時(shí)成績(jī)與期末成績(jī)都是100分制的。平時(shí)成績(jī)=出勤課堂紀(jì)律情況*40%+作業(yè)完成情況*60%對(duì)于作業(yè)完成情況的說(shuō)明:對(duì)于之前的作業(yè),不管是否有提交,我都不再追究。我只要求從發(fā)這份習(xí)題給你們開(kāi)始,每周要按順序完成如下的5道題目,把每道題目都自己理解完實(shí)現(xiàn)出來(lái)之后再交上來(lái)。我知道要把這20題都弄懂,不是一件容易的事情,但不是不可能。我會(huì)提供一些材料,大家可以先把這些材料看一遍,大體有個(gè)印象,當(dāng)遇到問(wèn)題的時(shí)候,也要學(xué)會(huì)查找對(duì)應(yīng)材料來(lái)解決問(wèn)題。下面的每道題目,我都將會(huì)給出參考答案。當(dāng)然是以截圖的方式。也會(huì)在關(guān)鍵代碼附上相應(yīng)的注釋。還有一句話,希望能與大家共勉?!皩W(xué)習(xí),從來(lái)都是一個(gè)自覺(jué)的過(guò)程。遇上一個(gè)好老師,會(huì)讓你少走很多彎路,但不是替代你學(xué)習(xí)。遇上一個(gè)不夠好的老師,或許會(huì)多走些彎路,但不代表你就學(xué)不好。事在人為,只要自己有心,外界條件再差也是可以攻克的;若是無(wú)心,外界條件再好,也會(huì)成為你的借口?!弊詈螅倩氐轿覀冞@門課的現(xiàn)實(shí)。能否取得好成績(jī),能否不掛科,取決于你,而不取決于我。規(guī)則我都已經(jīng)說(shuō)清楚了,最后結(jié)果如何我說(shuō)了不算,你的實(shí)際行動(dòng)和實(shí)際成績(jī)說(shuō)了算。編寫一個(gè)函數(shù),函數(shù)名為Max,該函數(shù)用來(lái)獲取給定三個(gè)整數(shù)的最大值。在Main函數(shù)中實(shí)現(xiàn)從屏幕中讀取三個(gè)整數(shù),然后輸出這三個(gè)整數(shù)中最大的那個(gè)數(shù)的功能。namespace_1{classProgram{staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入3個(gè)數(shù):按回車結(jié)束");inta,b,c,temp;a=int.Parse(Console.ReadLine());//定義一個(gè)輸入值a;b=int.Parse(Console.ReadLine());//定義一個(gè)輸入值b;c=int.Parse(Console.ReadLine());//定義一個(gè)輸入值c;temp=Max(a,b,c);Console.WriteLine("a={0},b={1},c={2},三個(gè)數(shù)中最大值為{3}",a,b,c,temp);}//074陳振華staticintMax(inta,intb,intc){inttemp=a;//把a(bǔ)的值付給temp;if(temp<b){temp=b;}if(temp<c){temp=c;}returntemp;}}}編寫一個(gè)函數(shù),函數(shù)名為PrintTriangle,用來(lái)打印n階的正三角形。并在Main函數(shù)中實(shí)現(xiàn)從屏幕中輸入n的值,然后根據(jù)給定的n的值打印出相應(yīng)的正三角形。當(dāng)n=7時(shí),*************************************************當(dāng)n=5時(shí),*************************代碼:namespace_1{classProgram{staticvoidMain(string[]args){inta;Console.WriteLine("請(qǐng)輸入你想要打印出的三角形的行數(shù)");a=int.Parse(Console.ReadLine());PrintTriangle(a);}//074陳振華staticvoidPrintTriangle(inta){for(inti=1;i<=a;i++){for(intj=i;j<a;j++){Console.Write("");}for(intx=i*2-1;x>0;x--){Console.Write("*");}Console.WriteLine("");}}}}輸入某年某月某日,判斷這一天是這一年的第幾天?。要求:需寫一個(gè)函數(shù),給定年月日,求的該天處于該年的第幾天。然后在Main函數(shù)中測(cè)試。代碼:namespace_1{classProgram{staticvoidMain(string[]args){intyear,month,day;Console.WriteLine("請(qǐng)輸入年份");year=int.Parse(Console.ReadLine());Console.WriteLine("請(qǐng)輸入月份");month=int.Parse(Console.ReadLine());Console.WriteLine("請(qǐng)輸入日期");day=int.Parse(Console.ReadLine());Console.WriteLine("{0}年{1}月{2}日處于該年的第{3}天",year,month,day,Cs(year,month,day)); }staticintCs(intyear,intmonth,intday){intsum=0;for(inti=1;i<month;i++){if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){sum+=31;}if(i==4||i==6||i==9||i==11){sum+=30;}if(i==2){sum+=29;}}if((year%400==0||(year%4==0&&year%100!=0))&&month>2)sum=sum-1;returnsum;}}}給定一個(gè)大于三的奇數(shù)n,打印出相應(yīng)的三角形。如n=7時(shí)的形狀如下:*************************代碼;classProgram{staticvoidMain(string[]args){inta;Console.WriteLine("請(qǐng)輸入你想要打印出的三角形的行數(shù),該數(shù)必須是大于三的奇數(shù)");a=int.Parse(Console.ReadLine());if(a%2==1&&a>=3){PrintTriangle(a);}elseConsole.WriteLine("該數(shù)不是大于三的奇數(shù)");}///<summary>///074陳振華///</summary>///<paramname="a"></param>staticvoidPrintTriangle(inta){for(inti=1;i<=a/2+1;i++){Console.Write("*");for(intx=1;x<i;x++){Console.Write("**");}Console.WriteLine("");}for(inti=a/2;i>0;i--){Console.Write("*");for(intx=i-1;x>0;x--){Console.Write("**");}Console.WriteLine("");}}}}要求:編寫一個(gè)函數(shù),給定一個(gè)n,打印出相應(yīng)的三角形,若n不是奇數(shù),則提示說(shuō)n的值必須為奇數(shù)。給一個(gè)正整數(shù),要求:寫一個(gè)函數(shù)求出它是幾位數(shù)。寫一個(gè)函數(shù),分別輸出每一位數(shù)字。寫一個(gè)函數(shù),按逆序輸出各位數(shù)字,例如原數(shù)位123,則輸出321.最后在main函數(shù)中測(cè)試結(jié)果代碼:namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){inta,r;Console.WriteLine("請(qǐng)輸入一個(gè)正整數(shù)");a=int.Parse(Console.ReadLine());r=C105(a);Console.WriteLine("該數(shù)是{0}位數(shù)",r);int[]A=Db(a);Shuzhu(A);Cs(A);}staticintC105(inta){inti=1;while(a>10){a=a/10;i++;}returni;}staticint[]Db(inta){intcount=C105(a);int[]data=newint[count];while(a>0){data[--count]=a%10;a=a/10;}returndata;}staticvoidShuzhu(int[]A){for(inti=0;i<A.Length;i++){Console.Write("{0}",A[i]);}Console.WriteLine();}staticvoidCs(int[]A){for(inti=0;i<A.Length/2;i++){inttemp=A[i];A[i]=A[A.Length-i-1];A[A.Length-i-1]=temp;}Console.WriteLine("倒敘輸出后的結(jié)果為");for(inti=0;i<A.Length;i++){Console.Write("{0}",A[i]);}Console.WriteLine();}}}請(qǐng)編寫一個(gè)函數(shù),計(jì)算出從m到n的數(shù)的和,比如m=3,n=300,則計(jì)算出從3一直加到300的和。并在Main函數(shù)中調(diào)用測(cè)試。要求:寫個(gè)函數(shù)采用for語(yǔ)句實(shí)現(xiàn)該功能。寫個(gè)函數(shù)采用while語(yǔ)句實(shí)現(xiàn)該功能。寫個(gè)函數(shù)采用do…while語(yǔ)句實(shí)現(xiàn)該功能。代碼:namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){inta,b;Console.WriteLine("請(qǐng)輸入兩個(gè)正整數(shù)分,別按回車結(jié)束");a=int.Parse(Console.ReadLine());b=int.Parse(Console.ReadLine());For(a,b);While(a,b);Dowhile(a,b);}staticvoidFor(inta,intb){intsum=0;for(inti=a;i<=b;i++){sum=sum+i;}Console.WriteLine("從{0}到{1}的所有數(shù)的和={2}",a,b,sum);}//074陳振華staticvoidWhile(inta,intb){intsum=0,i=a;while(i<=b){sum=sum+i;i++;}Console.WriteLine("從{0}到{1}的所有數(shù)的和={2}",a,b,sum);}staticvoidDowhile(inta,intb){intsum=0,i=a;do{sum=sum+i;i++;}while(i<=b);Console.WriteLine("從{0}到{1}的所有數(shù)的和={2}",a,b,sum);}}}寫一個(gè)函數(shù),判斷給定的一個(gè)正整數(shù)是否是素?cái)?shù),并在Main函數(shù)中測(cè)試。代碼:namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){intm,a;m=int.Parse(Console.ReadLine());a=Sushu105(m);if(a==0){Console.WriteLine("這個(gè)數(shù)是素?cái)?shù)",a);}elseConsole.WriteLine("這個(gè)數(shù)不是是素?cái)?shù)",a);}staticintSushu105(intm){inta=0;for(inti=2;i<m;i++){if(m%i==0){a++;}}returna;}}}寫一個(gè)函數(shù),返回給定m~n之間的所有素?cái)?shù)。再寫一個(gè)函數(shù),打印出給定一個(gè)數(shù)組中的所有元素。并在Main函數(shù)中測(cè)試。代碼:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入兩個(gè)數(shù)");inta,b;a=int.Parse(Console.ReadLine());b=int.Parse(Console.ReadLine());//boolresult=IsSushu(6);//Console.WriteLine(result);int[]wuxinglin=Suzhu(a,b);Console.WriteLine("{0}到{1}之間的所有素?cái)?shù)如下",a,b);Daying(wuxinglin);}///<summary>///獲取所有a到b之間所有的素?cái)?shù)///</summary>///<paramname="a"></param>///<paramname="b"></param>///<returns></returns>staticint[]Suzhu(inta,intb){intcount=Geshu(a,b);int[]wuxinglin=newint[count];intd=0;for(inti=a;i<=b;i++){if(IsSushu(i)){wuxinglin[d]=i;d++;}}returnwuxinglin;}///<summary>///返回兩個(gè)數(shù)之間所有的素?cái)?shù)的個(gè)數(shù)0///</summary>///<paramname="a"></param>///<paramname="b"></param>///<returns></returns>staticintGeshu(inta,intb){intc=0;for(inti=a;i<=b;i++){if(IsSushu(i)){c++;}}returnc;}///<summary>///判斷一個(gè)數(shù)是不是素?cái)?shù),如果是返回turn,否則返回false///</summary>///<paramname="m"></param>///<returns></returns>staticboolIsSushu(intm){boolresult=true;for(inti=2;i<=(int)Math.Sqrt(m);i++){if(m%i==0){result=false;break;}}returnresult;}///<summary>///給定一個(gè)數(shù)組打印出該中所有的元素///</summary>///<paramname="wuxinglin"></param>staticvoidDaying(int[]wuxinglin){for(inti=0;i<wuxinglin.Length;i++){Console.Write("{0}",wuxinglin[i]);}}}}編寫一個(gè)函數(shù),返回給定一個(gè)正整數(shù)m的二進(jìn)制表示。比如給定11,則返回1011.并在Main函數(shù)中測(cè)試。代碼:namespace_1{classProgram{staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入一個(gè)正整數(shù),按回車鍵結(jié)束");inta=int.Parse(Console.ReadLine());Console.WriteLine("輸入的數(shù){0}被轉(zhuǎn)化為二進(jìn)制后的結(jié)果為{1}",a,Zhuanhua(a));}staticstringZhuanhua(inta){StringBuilderresult=newStringBuilder();while(a>0){result.Insert(0,a%2);a=a/2;}returnresult.ToString();}}}編寫一個(gè)函數(shù),返回給定一個(gè)正整數(shù)m的n位二進(jìn)制表示方法,若n小于實(shí)際給定數(shù)m的二進(jìn)制位數(shù),則返回其真實(shí)位數(shù)。比如m=100,n=3,則返回1100100比如m=100,n=8,則返回001100100代碼:namespace_1{classProgram{staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入一個(gè)正整數(shù),按回車鍵結(jié)束");inta=int.Parse(Console.ReadLine());Console.WriteLine("請(qǐng)輸入你想返回的二進(jìn)制的位數(shù)");intb=int.Parse(Console.ReadLine());stringresult=Zhuanhua(a,b);Console.WriteLine("輸入的數(shù){0}被轉(zhuǎn)化為二進(jìn)制后{1}位的結(jié)果為{2}",a,b,result);}staticstringZhuanhua(inta,intb){StringBuilderresult=newStringBuilder();intcount=0;while(a>0){result.Insert(0,a%2);a=a/2;count++;}for(inti=count;i<=b;i++){result.Insert(0,0);}returnresult.ToString();}}}寫一個(gè)函數(shù),實(shí)現(xiàn)對(duì)給定一個(gè)整型數(shù)組中的每個(gè)元素進(jìn)行逆序重新存放。例如,原來(lái)順序?yàn)?,3,6,5,7,。要求改為7,5,6,3,1。并在Main函數(shù)中測(cè)試。代碼:namespace_074{classProgram{staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入一個(gè)整形數(shù)組中間用逗號(hào)隔開(kāi)如\"10,11,12\"");stringa=Console.ReadLine();string[]tempData=a.Split(',');int[]data=newint[tempData.Length];for(inti=0;i<tempData.Length;i++){data[i]=int.Parse(tempData[i]);}data=Shuzhu(data);Console.WriteLine("逆序輸出后的數(shù)組如下");Daying(data);}staticint[]Shuzhu(int[]data){inttemp;for(inti=0;i<data.Length/2;i++){temp=data[i];data[i]=data[data.Length-i-1];data[data.Length-i-1]=temp;}returndata;}staticvoidDaying(int[]data){for(inti=0;i<data.Length;i++){Console.Write("{0},",data[i]);}}}}寫一個(gè)函數(shù),給定一個(gè)數(shù)n,要求返回n行的楊輝三角形。并在Main函數(shù)中測(cè)試。代碼:namespace_074{classProgram{staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入要打印的楊輝三角的行數(shù),按回車結(jié)束!");intn=int.Parse(Console.ReadLine());Console.WriteLine("{0}行的楊輝三角如下:",n);PrintYangaHuiTriangle(n);}staticvoidPrintYangaHuiTriangle(intn){int[,]data=newint[n,n];for(inti=1;i<=n;i++){data[i-1,0]=1;data[i-1,i-1]=1;}for(inti=3;i<=n;i++){for(intj=2;j<i;j++){data[i-1,j-1]=data[i-2,j-2]+data[i-2,j-1];}}for(inti=1;i<=n;i++){for(intj=1;j<=i;j++){Console.Write("{0,-5:D}",data[i-1,j-1]);}Console.Write("\n");}}}}編寫一個(gè)函數(shù),函數(shù)名為ReverseInt,實(shí)現(xiàn)逆序輸出給定的一個(gè)整數(shù)。比如,整數(shù)為123,則輸出321。并在Main函數(shù)中調(diào)用測(cè)試。代碼:namespace_074{classProgram{staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入一個(gè)整數(shù),并按回車結(jié)束!");intn=int.Parse(Console.ReadLine());Console.WriteLine("{0}逆序之后的整數(shù)為{1}",n,ReverseInt(n));}//074陳振華staticintReverseInt(intn){StringBuilderresult=newStringBuilder();while(n>0){result.Append(n%10);n=n/10;}returnint.Parse(result.ToString());}}}簡(jiǎn)單計(jì)算器用switch語(yǔ)句編程設(shè)計(jì)一個(gè)簡(jiǎn)單的計(jì)算器程序,要求根據(jù)用戶從鍵盤輸入的表達(dá)式:操作數(shù)1運(yùn)算符op操作數(shù)2計(jì)算表達(dá)式的值,指定的算術(shù)運(yùn)算符為加(+)、減(-)、乘(*)、除(/)。staticvoidMain(string[]args){Console.WriteLine("請(qǐng)輸入要計(jì)算的表達(dá)式,格式為\"操作數(shù)1操作符操作數(shù)2,如\"1+2\"");stringinput=Console.ReadLine();string[]temp=input.Split('');doubleresult=Compute(double.Parse(temp[0]),double.Parse(temp[2]),temp[1][0]);Console.WriteLine("{0}={1}",input,result);}staticdoubleCompute(doublenumOne,doublenumTwo,charoper){doubleresult=0;switch(oper){case'+':result=numOne+numTwo;break;case'-':result=numOne-numTwo;break;case'*':result=numOne*numTwo;break;case'/':result=numOne/numTwo;break;}returnresult;}}}如果要求連續(xù)做多次算術(shù)運(yùn)算,每次運(yùn)算結(jié)束后,程序都給出提示:Doyouwanttocontinue(Y/Nory/n)?用戶輸入Y或y時(shí),程序繼續(xù)進(jìn)行其他算術(shù)運(yùn)算;否則程序退出運(yùn)行狀態(tài)。那么,程序如何修改?代碼:staticvoidMain(string[]args){stringgoOn="Y";while(goOn=="Y"){Console.WriteLine("請(qǐng)輸入要計(jì)算的表達(dá)式,格式為\"操作數(shù)1操作符操作數(shù)2,如\"1+2\"");stringinput=Console.ReadLine();string[]temp=input.Split('');doubleresult=Compute(double.Parse(temp[0]),double.Parse(temp[2]),temp[1][0]);Console.WriteLine("{0}={1}",input,result);Console.WriteLine("要繼續(xù)嗎?繼續(xù)按(N/Y),其他鍵退出");goOn=Console.ReadLine().ToUpper();}猜數(shù)游戲在這個(gè)實(shí)驗(yàn)中,我們將嘗試編寫一個(gè)猜數(shù)游戲程序,這個(gè)程序看上去有些難度,但是如果按下列要求循序漸進(jìn)地編程實(shí)現(xiàn),會(huì)發(fā)現(xiàn)其實(shí)這個(gè)程序是很容易實(shí)現(xiàn)的。那么,現(xiàn)在就開(kāi)始吧,先編寫第1個(gè)程序,然后試著在第1個(gè)程序的基礎(chǔ)上編寫第2個(gè)程序,……程序1編程先由計(jì)算機(jī)“想”一個(gè)1~100之間的數(shù)請(qǐng)人猜,如果人猜對(duì)了,則計(jì)算機(jī)給出提示“Right!”,否則提示“Wrong!”,并告訴人所猜的數(shù)是大(Toohigh)還是?。═oolow),然后結(jié)束游戲。要求每次運(yùn)行程序時(shí)機(jī)器所“想”的數(shù)不能都一樣。程序2編程先由計(jì)算機(jī)“想”一個(gè)1~100之間的數(shù)請(qǐng)人猜,如果人猜對(duì)了,則結(jié)束游戲,并在屏幕上輸出人猜了多少次才猜對(duì)此數(shù),以此來(lái)反映猜數(shù)者“猜”的水平;否則計(jì)算機(jī)給出提示,告訴人所猜的數(shù)是太大還是太小,直到人猜對(duì)為止。程序3編程先由計(jì)算機(jī)“想”一個(gè)1~100之間的數(shù)請(qǐng)人猜,如果人猜對(duì)了,則結(jié)束游戲,并在屏幕上輸出人猜了多少次才猜對(duì)此數(shù),以此來(lái)反映猜數(shù)者“猜”的水平;否則計(jì)算機(jī)給出提示,告訴人所猜的數(shù)是太大還是太小,最多可以猜10次,如果猜了10次仍未猜中的話,結(jié)束游戲。程序4編程先由計(jì)算機(jī)“想”一個(gè)1~100之間的數(shù)請(qǐng)人猜,如果人猜對(duì)了,在屏幕上輸出人猜了多少次才猜對(duì)此數(shù),以此來(lái)反映猜數(shù)者“猜”的水平,則結(jié)束游戲;否則計(jì)算機(jī)給出提示,告訴人所猜的數(shù)是太大還是太小,最多可以猜10次,如果猜了10次仍未猜中的話,則停止本次猜數(shù),然后繼續(xù)猜下一個(gè)數(shù)。每次運(yùn)行程序可以反復(fù)猜多個(gè)數(shù),直到操作者想停止時(shí)才結(jié)束。機(jī)器人習(xí)題寫一個(gè)類Robot,該類包含三個(gè)實(shí)例變量:name(string類型),age(ushort類型),isOn(bool類型)。初始化該三個(gè)變量的值為”unknown”,0和false。(強(qiáng)調(diào):不能通過(guò)構(gòu)造函數(shù)來(lái)初始化)。給這三個(gè)實(shí)例變量分別添加獲取值和設(shè)置值的方法。在Main方法中測(cè)試該Robot類。為允許該Robot類的使用者在創(chuàng)建機(jī)器人對(duì)象的時(shí)候指定該對(duì)象的name,age,isOn三個(gè)實(shí)例變量的值,請(qǐng)?zhí)砑右粋€(gè)構(gòu)造函數(shù)包括這三個(gè)參數(shù),并添加一個(gè)默認(rèn)構(gòu)造函數(shù)。 添加一個(gè)靜態(tài)變量robotsCreated用來(lái)記錄機(jī)器人創(chuàng)建的個(gè)數(shù)。更新構(gòu)造函數(shù)里的代碼,以使該robotsCreated變量是實(shí)時(shí)更新的。namespace_074{classProgram{staticvoidMain(string[]args){Robotr=newRobot();r.Name="一";r.Age=1;r.IsOn=true;Console.WriteLine("機(jī)器人的名字為{0},年齡為{1},開(kāi)啟狀態(tài)為{2}",r.Name,r.Age,r.IsOn);Console.WriteLine("現(xiàn)在機(jī)器人有{0}個(gè)",Robot.RobotsCreated);Robotr2=newRobot("二",2,false);Console.WriteLine("機(jī)器人的名字為{0},年齡為{1},開(kāi)啟狀態(tài)為{2}",r2.Name,r2.Age,r2.IsOn);Console.WriteLine("現(xiàn)在機(jī)器人有{0}個(gè)",Robot.RobotsCreated);}}//074陳振華classRobot{stringname="unknown";publicstringName{get{returnname;}set{name=value;}}ushortage=0;publicushortAge{get{returnage;}set{age=value;}}boolisOn=false;publicboolIsOn{get{returnisOn;}set{isOn=value;}}publicRobot(stringname,ushortage,boolIsOn){=name;this.age=age;this.isOn=isOn;robotsCreated++;}publicRobot(){robotsCreated++;}privatestaticintrobotsCreated=0;publicstaticintRobotsCreated{get{returnRobot.robotsCreated;}}}}為默認(rèn)構(gòu)造函數(shù)添加如下業(yè)務(wù)邏輯:如果robotsCreated比5小,則設(shè)置isOn為true,否則設(shè)置isOn為false.staticvoidMain(string[]args){Robotr=newRobot();r.Name="一";r.Age=1;r.IsOn=true;Console.WriteLine("機(jī)器人的名字為{0},年齡為{1},開(kāi)啟狀態(tài)為{2}",r.Name,r.Age,r.IsOn);Console.WriteLine("現(xiàn)在機(jī)器人有{0}個(gè)",Robot.RobotsCreated);Robotr2=newRobot("二",2,false);Console.WriteLine("機(jī)器人的名字為{0},年齡為{1},開(kāi)啟狀態(tài)為{2}",r2.Name,r2.Age,r2.IsOn);Console.WriteLine("現(xiàn)在機(jī)器人有{0}個(gè)",Robot.RobotsCreated);}}//074陳振華classRobot{stringname="unknown";publicstringName{get{returnname;}set{name=value;}}ushortage=0;publicushortAge{get{returnage;}set{age=value;}}boolisOn=false;publicboolIsOn{get{returnisOn;}set{isOn=value;}}publicRobot(stringname,ushortage,boolIsOn){=name;this.age=age;this.isOn=isOn;robotsCreated++;}publicRobot(){if(robotsCreated<5){this.isOn=true;}else{this.isOn=false;}robotsCreated++;}privatestaticintrobotsCreated=0;publicstaticintRobotsCreated{get{returnRobot.robotsCreated;}}}}機(jī)器人應(yīng)該能夠進(jìn)行一些簡(jiǎn)單的計(jì)算,比如,它能否獲取三個(gè)整數(shù)的平均值。這個(gè)功能通過(guò)類似下面的方法定義來(lái)實(shí)現(xiàn):publicintAverage(intx,inty,intz)但是,機(jī)器人并不自己實(shí)現(xiàn)這個(gè)方法。而是調(diào)用一個(gè)靜態(tài)類RobotMath中的一個(gè)靜態(tài)方法Average來(lái)實(shí)現(xiàn)該功能。namespace_074{classProgram{staticvoidMain(string[]args){Robotr=newRobot();r.Name="一";r.Age=1;r.IsOn=true;Console.WriteLine("機(jī)器人的名字為{0},年齡為{1},開(kāi)啟狀態(tài)為{2}",r.Name,r.Age,r.IsOn);Console.WriteLine("現(xiàn)在機(jī)器人有{0}個(gè)",Robot.RobotsCreated);Console.WriteLine("1,2,3的平均數(shù)是{0}",r.Average(1,2,3));Robotr2=newRobot("二",2,false);Console.WriteLine("機(jī)器人的名字為{0},年齡為{1},開(kāi)啟狀態(tài)為{2}",r2.Name,r2.Age,r2.IsOn);Console.WriteLine("現(xiàn)在機(jī)器人有{0}個(gè)",Robot.RobotsCreated);Console.WriteLine("4,5,6的平均數(shù)是{0}",r2.Average(4,5,6));Console.WriteLine("7,8,9的平均數(shù)是{0}",r2.Average(7,8,9));}}//074陳振華classRobot{stringname="unknown";publicstringName{get{returnname;}set{name=value;}}ushortage=0;publicushortAge{get{returnage;}set{age=value;}}boolisOn=false;publicboolIsOn{get{returnisOn;}set{isOn=value;}}publicRobot(stringname,ushortage,boolIsOn){=name;this.age=age;this.isOn=isOn;robotsCreated++;}publicRobot(){if(robotsCreated<5){this.isOn=true;}else{this.isOn=false;}robotsCreated++;}privatestaticintrobotsCreated=0;publicstaticintRobotsCreated{get{returnRobot.robotsCreated;}}publicintAverage(intx,inty,intz){returnRobotMath.Average(x,y,z);}}classRobotMath{publicstaticintAverage(intx,inty,intz){return(x+y+z)/3;}}}請(qǐng)實(shí)現(xiàn)上述功能,并在Main函數(shù)中做相應(yīng)調(diào)用測(cè)試。賽車習(xí)題寫一個(gè)類名為SportsCar包含的兩個(gè)int類型的實(shí)例變量maxSpeed和horsePower。在任何SportsCar對(duì)象中,這兩個(gè)實(shí)例變量,必須持有值大于一定的預(yù)先指定的值,否則,他們沒(méi)有資格作為適當(dāng)SportsCar對(duì)象。在我們的例子中,maxSpeed的最低值是200公里/小時(shí),horsePower的最低值是250馬力。我們用maxSpeedRequirement和horsePowerRequirement來(lái)保存跑車所必須具備的最低時(shí)速和最小馬力.寫一個(gè)方法SportsCheck方法為特定SportsCar對(duì)象的maxSpeed和horsePower檢測(cè)其是否是跑車,是的話返回true,否則為false。為maxSpeed,horsePower,maxSpeedRequirement和horsePowerRequirement封裝屬性。寫另一個(gè)類,包含一個(gè)Main方法來(lái)證明SportsCar類。//074陳振華每個(gè)SportsCar對(duì)象都只能被特定的人駕駛。寫一個(gè)SetLegalDrivers方法,讓其能夠指定某個(gè)SportsCar對(duì)象所允許的駕駛員.比如:sportsCar1.SetLegalDrivers("Tom","Julie","Teddy","Mary")或者調(diào)用sportsCar1.SetLegalDrivers("Peter")再寫一個(gè)DriverCheck方法,當(dāng)給其指定一個(gè)名字,該方法能夠驗(yàn)證該名字是不是合法的駕駛員,如果是則返回true,否則返回false.在另一個(gè)類的Main()函數(shù)中驗(yàn)證這兩個(gè)方法?,F(xiàn)在其他類需要知道SportsCar類的最低時(shí)速要求和最小馬達(dá)要求,請(qǐng)你為SportsCar類添加一個(gè)靜態(tài)方法GetMinimumRequirements,該方法允許傳入兩個(gè)refint類型參數(shù),目的是將SprtsCar類的maxSpeedRequirement和horsePowerRequirement兩個(gè)靜態(tài)變量傳遞出去。添加一個(gè)測(cè)試類Calculator,該類包含一個(gè)靜態(tài)方法NumberCruncher,在該方法中調(diào)用SportsCar的GetMinimumRequirements方法,將SprtsCar的最低時(shí)速要求和最低馬達(dá)要求打印出來(lái)。為SportsCart類再添加一個(gè)方法MostPowerful,該方法用來(lái)比較兩輛車哪個(gè)馬力更大,返回馬力大的那輛車。為SportsCar類再添加一個(gè)方法MostPowerful,利用函數(shù)重載,該方法用來(lái)比較三輛車那輛馬力更大,返回最大馬力的那輛車。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace_074{classProgram{staticvoidMain(string[]args){SportsCarqq=newSportsCar();//創(chuàng)建一輛QQ車qq.MaxSpeed=100;//設(shè)置該qq車的最高時(shí)速為100qq.HorsePower=150;//設(shè)置該qq車的馬力為150boolresult=qq.SportsCheck();//判斷該qq車是不是跑車if(result==true)//如果該qq車是跑車{Console.WriteLine("qq車的最高時(shí)速為{0},馬力為{1},其是跑車",qq.MaxSpeed,qq.HorsePower);}else{Console.WriteLine("qq車的最高時(shí)速為{0},馬力為{1},太慢了,這樣子還想成為跑車",qq.MaxSpeed,qq.HorsePower);}SportsCaraudi=newSportsCar();//創(chuàng)建一輛奧迪車audi.MaxSpeed=300;//設(shè)置該audi車的最高時(shí)速為300audi.HorsePower=350;//設(shè)置該audi車的馬力為350result=audi.SportsCheck();//判斷該奧迪車是不是跑車if(result==true)//如果該audi車是跑車{Console.WriteLine("audi車的最高時(shí)速為{0},馬力為{1},其是跑車",audi.MaxSpeed,audi.HorsePower);}else{Console.WriteLine("audi車的最高時(shí)速為{0},馬力為{1},太慢了,這樣子還想成為跑車",audi.MaxSpeed,audi.HorsePower);}audi.SetLegalDrivers("豬八戒","豬九戒");//設(shè)置奧迪車的合法駕駛員為"豬八戒吳星霖","豬九戒"兩個(gè)人audi.DisplayDrivers();//打印出該奧迪車的所有合法駕駛員boolisLegalDriver=audi.DriverCheck("豬十戒");//判斷豬十戒是不是該輛車的合法駕駛員if(isLegalDriver){Console.WriteLine("豬十戒是合法駕駛員");}else{Console.WriteLine("豬十戒不是合法駕駛員");}isLegalDriver=audi.DriverCheck("豬八戒");//判斷豬八戒是不是該輛車的合法駕駛員if(isLegalDriver){Console.WriteLine("豬八戒是合法駕駛員");}else{Console.WriteLine("豬八戒不是合法駕駛員");}intmaxSpeedRequirement=0;//定義一個(gè)變量,用來(lái)保存跑車的最低時(shí)速要求inthorsePowerRequirement=0;//定義一個(gè)變量,用來(lái)保存跑車的馬力要求//調(diào)用SportsCar.GetMinimumRequirements這個(gè)方法,將跑車的最低時(shí)速要求傳遞出來(lái)給剛剛定義的maxSpeedRequirement,//把跑車的馬力要求傳遞出來(lái)給剛剛定義的horsePowerRequirement變量SportsCar.GetMinimumRequirements(refmaxSpeedRequirement,refhorsePowerRequirement);//打印這兩個(gè)變量,測(cè)試結(jié)果是否正確Console.WriteLine("跑車的最低時(shí)速要求跟馬力要求分別為{0},{1}",maxSpeedRequirement,horsePowerRequirement);}}classSportsCar{///<summary>///定義一個(gè)字符串?dāng)?shù)組用來(lái)存放該輛車的合法駕駛員///</summary>privatestring[]drivers;///<summary>///打印出該輛車的所有合法駕駛員///</summary>publicvoidDisplayDrivers(){for(inti=0;i<drivers.Length;i++){Console.Write("{0}",drivers[i]);}}///<summary>///設(shè)置該輛車的合法駕駛員///</summary>///<paramname="drivers"></param>publicvoidSetLegalDrivers(paramsstring[]drivers){this.drivers=drivers;}///<summary>///判斷某個(gè)駕駛員是否為合法駕駛員///</summary>///<paramname="driver"></param>///<returns></
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 摩托車教練員培訓(xùn)制度
- 巡山護(hù)林人員培訓(xùn)制度
- 藝術(shù)學(xué)院培訓(xùn)管理制度
- 音樂(lè)培訓(xùn)琴行管理制度
- 小學(xué)校內(nèi)培訓(xùn)合規(guī)制度
- 要建立護(hù)工定期培訓(xùn)制度
- 駕駛員預(yù)約培訓(xùn)制度
- 煤礦安全培訓(xùn)考核制度
- 環(huán)水保教育培訓(xùn)制度
- 樂(lè)器培訓(xùn)日常管理制度
- 數(shù)字孿生方案
- 金融領(lǐng)域人工智能算法應(yīng)用倫理與安全評(píng)規(guī)范
- 2026長(zhǎng)治日?qǐng)?bào)社工作人員招聘勞務(wù)派遣人員5人備考題庫(kù)及答案1套
- 機(jī)動(dòng)車駕校安全培訓(xùn)課件
- 河道清淤作業(yè)安全組織施工方案
- 2025年役前訓(xùn)練考試題庫(kù)及答案
- 2026年七臺(tái)河職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 2023-2024學(xué)年廣東省廣州市小學(xué)數(shù)學(xué)二年級(jí)上冊(cè)期末自我評(píng)估試題
- YS/T 971-2014鈦鎳形狀記憶合金絲材
- 鈷冶金概述課件
- 方小丹建筑地基基礎(chǔ)設(shè)計(jì)的若干問(wèn)題課件
評(píng)論
0/150
提交評(píng)論