C#-常用練習(xí)代碼_第1頁(yè)
C#-常用練習(xí)代碼_第2頁(yè)
C#-常用練習(xí)代碼_第3頁(yè)
C#-常用練習(xí)代碼_第4頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

76,57,6675,53,6476,57,6675,53,64三寫出運(yùn)行結(jié)果題usingSystem;namespacePage_60{classDaysTemp{publicintHigh=75;publicintLow=45;)classProgram(staticvoidMain()(DaysTemptemp=newDaysTempO;temp.High=85;temp.Low=60;Console.WriteLine(H{0}\temp.High);Console.WriteLine("{0},temp.Low);)))usingSystem;namespacePage_62(classDaysTemp{publicintHigh,Low;publicintAverage()第1頁(yè)共75頁(yè)return(High+Low)/2;)classProgramstaticvoidMain()DaysTemptl=newDaysTempO;DaysTempt2=newDaysTempO;tl.High=76;tl.Low=57;t2.High=75;t2.Low=53;Console.WriteLine("{0},{1},{2}",tl.High,tl.Low,tl.AverageO);Console.WriteLine("{0},{1},{2}",t2.High,t2.Low,t2.Average());)}}⑶usingSystem;namespacePage_80(classMyClass5,6,115,6,5.55,6,115,6,5.5publicintSum(intx,inty)(returnx+y;}publicfloatAvg(floatInputl,floatInput2)(return(Inputl+Input2)/2.0F;})classClassistaticvoidMain()MyClassMyT=newMyClass();intSomelnt=6;Console.WriteLine("{0},{l},{2}'',5,Somelnt,MyT.Sum(5,Somelnt));Console.WriteLine("{0},{l},{2}",5,Somelnt,MyT.Avg(5,Somelnt));)))(4)usingSystem;namespacePage_85(classMyClass( 2515publicintVai=20;)classProgram{staticvoidMyMethod(refMyClassfl,refintf2){fl.Val=fl.Val+5;f2=f2+5;)staticvoidMain()(MyClassAl=newMyClass();intA2=10;MyMethod(refAl,refA2);Console.WriteLine(Al.Val.ToString()+A2);))}usingSystem;

namespacePage_92{classMyClass(publicvoidListlnts(paramsint[]inVais)(if((inVais!=null)&&(inVals.Length!=0))for(inti=0;i<inVals.Length;i++)(inVals[i]=inVals[i]*10;)))classProgram(staticvoidMain()(intfirst=5,second=6,third=7;MyClassme=newMyClass();mc.ListInts(first,second,third);Console.WriteLine("{〇},Q},{2},first,second,third);)))usingSystem;namespacePage_94(classMyClass{publicvoidListlnts(paramsint[]inVais)if((inVais!=null)&&(inVals.Length!=0))for(inti=0;i<inVals.Length;i++)inVals[i]=inVals[i]*10;))classProgram{staticvoidMain()(int[]MyArr=newint口{5,6,7};MyClassme=newMyClass();mc.Listlnts(MyArr);foreach(intxinMyArr)Console,WriteLine("{0}\x);)})usingSystem;namespacePage_97(classProgram(publicvoidCount(intinVai)(if(inVai==0)return;Count(inVal-1);Console.WriteLine("{0}",inVai);)staticvoidMain()(Programpr=newProgram();pr.Count⑶;)

usingSystem;namespacePage_117{classCl(privateintTheRealValue=10;publicintMyValueTheRealValue=value;1020getreturnTheRealValue;}classProgram(staticvoidMain()(Clc=newCl();Console.WriteLine("{0},c.MyValue);c.MyValue=20;Console.WriteLine("{〇}",c.MyValue);usingSystem;namespacePage_121classRightTriangle(publicdoubleA=3;publicdoubleB=4;publicdoubleHypotenuse(get(returnMath.Sqrt((A*A)+(B*B));)))classProgram(staticvoidMain()(RightTrianglec=newRightTriangle();Console.WriteLine("{0}",c.Hypotenuse);))}四改錯(cuò)題【要求:只能修改一行】(1)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_123(classClpublicintMyValueset;get;)}classProgram(staticvoidMain()(Clc;Console.WriteLine("MyValue:{0},,c.MyValue);c.MyValue=20;Console.WriteLine("MyValue:{0}",c.MyValue);)})答:"Clc;"改為℃1c=newCl();"(2)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_125(classTrivial(staticintmyValue;publicstaticintMyValue(set{myValue=value;}get{returnmyValue;})publicvoidPrintValue(){Console.WriteLine("Valuefrominside:{0)",MyValue);))classProgramstaticvoidMain(){Console.WriteLine("InitValue:{0}",Trivial.MyValue);Trivial.MyValue=10;Console.WriteLine("NewValue:{0}",Trivial.MyValue);Trivialtr=newTrivialQ;Trivial.PrintValueO;))}答:"Trivial.PrintValue。;"改為"tr.PrintValue。;"(3)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_132(publicclassPoint(publicintX=1;publicintY=2;)classProgram{staticvoidMain()(Pointptl=newPoint();Pointpt2=newPoint(X=5,Y=6);Console.WriteLine("ptl:{0},{1}",ptl.X,ptl.Y);Console.WriteLine("pt2:{0},{1}",pt2.X,pt2.Y);)})答:"Pointpt2=newPoint(X=5,Y=6);"改為"Pointpt2=newPoint{X=5,Y=6};"

(4)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_148classClassi(intTempO;intTempi;publicintthis[intindex](getTempi;(Tempi;return(0==index)?TempO)set(if(O==index)TempO=value;elseTempi=value;))}classExample(staticvoidMainQ(Classia=newClassl();a(l)=20;)))答:ua(l)=20;"改為"a[l]=20;"(5)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespaceExamples(classPerson{publicstringName{get;privateset;}publicPerson[stringname](Name=name;})classProgram(staticpublicvoidMain()(Personp=newPerson(nCapt.ErnestEvans");Console.WriteLine("Person'snameis{〇}",p.Name);}))答:"publicPerson]stringname]"改為"publicPerson(stringname)(6)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespaceExamples{classProgram(voidMain()(intx=3;while(x>0)(Console.WriteLine("x:{0}",x);X-;)Console.WriteLine("Outofloop");})}答:“voidMain()"改為staticvoidMain()”(7)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_248_2classProgram 41 LstaticvoidMain(string[]args)(intx=0;while(x<5)(if(x<3)(x++;break;)Console.WriteLine("{0}",x);x++;})))答:"break;"改為"continue;"(8)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_240classProgramstaticvoidMain(string[]args)(intx=3;while(x>=0){Console.WriteLine("<〇}",x);x--;}答:"while(x>=0)"改為"while(x>0)"(9)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_242classProgramstaticvoidMain(string[]args)intx=0;doConsole.WriteLine("{0}",x++);while(x<10);}答:"Console.WriteLine。{0},x++);"改為"Console.WriteLine("{0},x+=3);"五程序填空題(1)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_165{classMyBaseClass(virtualpublicvoidPrint()(Console.WriteLine("l");})classMyDerivedClass:MyBaseClass(newpublicvoidPrintQ(Console.WriteLine(n2");))classProgram(staticvoidMain()MyDerivedClassderived=newMyDerivedClass();mybc=(MyBaseClass)derived;derived.Print();mybc.PrintO;))答:MyBaseClass

(2)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_165(classMyBaseClass(virtualpublicvoidPrint()(Console.WriteLineC1");)}classMyDerivedClass:MyBaseClass(overridepublicvoidPrint(){Console.WriteLine();))classProgram(staticvoidMain()(MyDerivedClassderived=newMyDerivedClass();MyBaseClassmybc=(MyBaseClass)derived;derived.PrintQ;mybc.Print();))}答:"2"(3)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_184abstractclassAbClasspublicvoidIdentifyBase()(Console.WriteLine("l");)abstractpublicvoidIdentifyDerived();)classDerivedClass:(overridepublicvoidIdentifyDerivedO|Console.WriteLine(n2");))classExample{staticvoidMain()(DerivedClassb=newDerivedClass();b.IdentifyBase();b.IdentifyDerivedO;)))答:AbClass(4)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_214(classProgram{staticvoidMain(string[]args)

inta,x=1;a=x3;Console.WriteLine("{0}",a);))}答:<<(5)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_214(classProgram(staticvoidMain(string[]args)(boola=true;intx=9;a=x==Aa;Console.WriteLine("{0},a);)}}答:9(6)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_218(classProgram(staticvoidMain(string[]args)(Falseintx=10,y=9;

FalseConsole.WriteLine("{0}",xy?"I":"2");)))答:>(7)要求程序運(yùn)行結(jié)果為usingSystem;namespaceAA 6{classProgramstaticvoidMain(stringロargs)(intn=123rm=0;while(n!=0)(intt=n/10;m+=n-1* ;n=t;}Console.WriteLine(m);)}}答:10(8)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_221{classLimitedlnt

publicstaticimplicitoperatorint(Limitedlntli)(returnli.TheValue;)publicstaticimplicitoperatorLimitedlnt(intx)(Limitedlntli=newLimitedlnt();li.TheValue=x;returnli;)privateintTheValue=0;}classProgram{staticvoidMain()(Limitedlntli=;intk=li;Console.WriteLine("{0)",k);}}}答:1(9)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_225{classLimitedlnt(publicstaticLimitedlntoperator-(Limitedlntx,Limitedlnty)(Limitedlntli=newLimitedlnt();li.TheValue=x.TheValue-y.TheValue;returnli;}publicstaticLimitedlntoperator+(LimitedIntx,inty)Limitedlntli=newLimitedlnt();.TheValue=x.TheValue+y;returnli;)publicintTheValue{get;set;})classProgram(staticvoidMain()(Limitedlntlil=newLimitedlntO;LimitedlntIi2=newLimitedlntO;.TheValue=10;.TheValue=20;Console.WriteLine("{0},(Ii2-lil3).TheValue);}))答:+六編程題(1)從鍵盤上輸入若干個(gè)實(shí)數(shù),按從大到小的丿|質(zhì)序輸出.要求先從鍵盤上輸入實(shí)數(shù)的具體個(gè)數(shù),再逐個(gè)輸入要排序的實(shí)數(shù)。usingSystem;classProgram(staticvoidMain(string[]args)(intN=InputlntQ;double[]x=newdouble[N];for(inti=0;i<x.Length;i++)(x[i]=InputReal(i+1);)Sort(x);Output(x);}staticintInputlnt(){intx=0;strings;Console.WriteC?請(qǐng)輸入實(shí)數(shù)的個(gè)數(shù):");s=Console.ReadLine();x=int.Parse(s);returnx;}staticdoubleInputReal(intNo)(doublex=0.0;strings;Console.WriteC請(qǐng)輸入第{〇}個(gè)數(shù):",No);s=Console.ReadLine();if(double.TryParse(s,outx)==false)x=int.Parse(s);)returnx;)staticvoidSort(paramsdoubleda){for(inti=0;i<a.Length;i++)(for(intj=i+1;j<a.Length;j++)(if(a[i]<aUD{doublet=a[i];a[i]=a[j];a[j]=t;))))staticvoidOutput(paramsdouble[]a){for(inti=0;i<a.Length;i++)(Console.WriteLine(a[i]);}))(2)輸出前n個(gè)自然數(shù)的階乘的和,要求n的值由鍵盤輸入usingSystem;classProgram(staticvoidMain(string[]args){intn=0;Console.Write("輸入n的值:");strings=Console.ReadLine();n=int.Parse(s);longm=0;longa=1;for(inti=1;i<=n;i++)(a*=i;m+=a;)Console.WriteLine("前{0}個(gè)自然數(shù)的階乘的和={l}",n,m);})(3)任意給定一個(gè)整數(shù)n,判定其是否為素?cái)?shù)(即只能被1和自身整除)usingSystem;classProgram(staticvoidMain(string[]args)(intn=0;Console.Write("輸入N的值:");strings=Console.ReadLine();n=int.Parse(s);bool素?cái)?shù)=true;for(inti=2;i<n;i++)(if((n%i)==0)(素?cái)?shù)=false;break;))Console.WriteLine("{0}是素?cái)?shù)嗎?回答:⑴",n,素?cái)?shù));}}(4)通過(guò)方法重載,使用同一個(gè)方法名print分別執(zhí)行輸出整數(shù)、雙精度數(shù)與字符串的功能.usingSystem;classProgram{staticvoidMain(string[]args)(print(78);print(45.567);print("adsrg");)publicstaticvoidprint(inti)(Console.WriteLine(i);)publicstaticvoidprint(doubled)(Console.WriteLine(d);)publicstaticvoidprint(strings)(Console.WriteLine(s);)}(5)已知圓周率兀的計(jì)算公式為4*1ー丄+丄ー丄+???,編寫c#控制臺(tái)應(yīng)用程序,計(jì)算并輸出兀的_357 _近似值。usingSystem;classProgram{staticvoidMain(string[]args)(doublepi=1.0;doublek=3.0;double正負(fù)=-1.0;do(pi+=1.0/k?正負(fù);k+=2;正負(fù)?=-1.0;}while((1.0/k)>1.0e-9);Console.WriteLine("圓周率={〇}",4.〇?pi);))(6)水仙花數(shù)是指各位的數(shù)字立方和等于該數(shù)本身的三位數(shù)(如153=13+53+33)。輻C#控制臺(tái)應(yīng)用程序,輸出所有的水仙花數(shù).usingSystem;classProgram(staticvoidMain(string[]args)(for(inti=1;i<100;i++)(for(intj=l;j<100;j++)(for(intk=1;k<100;k++){intm=i*100+j*10+k;intn=i*i*i+j*j*j+k*k*k;if(n==m)Console.WriteLine(m);))))(7)編寫C#控制臺(tái)應(yīng)用程序,在其中創(chuàng)建物體類PhysicalObject,通過(guò)其私有字段來(lái)存放重量和體積,通過(guò)公有屬性來(lái)訪問(wèn)其重量、體積、密度,并通過(guò)公有方法來(lái)判斷該物體是否會(huì)在水中下沉。usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;classProgram{staticvoidMain(string[]args)PhysicalObjectp=newPhysical〇bject();p.體積=80.0;p.重量=78.9;Console.WriteLine("重量={〇}",p.重量);Console.WriteLine("體積={〇}",p.體積);Console.WriteLine("密度={〇}",p.密度);Console.WriteLine("在水中會(huì)下沉嗎?({0})",p.下沉〇);}}classPhysicalObject(privatedoublem一重量,m一體積;publicdouble體積(get(returnm一體積;)set{m一體積=value;))publicdouble重量(get(returnm一重量;)set{m一重量=value;))publicdouble密度get{returnm重量/m一體積;))publicbool下沉〇(return密度>=1.0?true:false;)}(8)求100至リ1000內(nèi),所有能被3和5整除的數(shù)。usingSystem;classProgram(staticvoidMainO(for(inti=100;i<=1000;i++){訐((i%3==0)&&(i%5==0))(Console.WriteLine(i);))))(9)求100到!000內(nèi),所有個(gè)位數(shù)與十位數(shù)的積為35的數(shù)。usingSystem;classProgram{staticvoidMainO(for(inti=100;i<=1000;i++)(int個(gè)位數(shù)=i%10;int十位數(shù)=(i%100)/10;if(個(gè)位數(shù)?十位數(shù)==35)(Console.WriteLine(i);))(10)輸入ー個(gè)正整數(shù),并輸出該整數(shù)。要求它的所有位都用其對(duì)應(yīng)的字母表示,數(shù)字與字母的對(duì)應(yīng)關(guān)系為:0123456789ABcDEFGHpMusingSystem;classProgramstaticvoidMain()(stringS=Console.ReadLine();intn=int.Parse(S);S=n.ToStringO;for(inti=0;i<S.Length;i++)(charc=S[i];switch(S[i])(case‘〇':c='A';break;case'1':c=B;break;case'2':c='C;break;case'3’:c='D';break;case'4*:c='E';break;case'5':c=F;break;case'6':c=G;break;case7':c='H';break;case8:c=P;break;case'9':c='M';break;default:break;}Console.Write(c);)})七常用測(cè)量程序設(shè)計(jì)(1)將以度分秒表示的角度轉(zhuǎn)換為以弧度表示的角度。(提示度分秒的格式為:d.mmss,d?一代表度,mm-一代表分,ss--代表秒,如20度34分56.12秒的度分秒格式是20.345612)usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplicationlclassApplication(staticvoidMain(string[]a)(Console.Write("請(qǐng)輸入角度[ddd.mmss]=n);try(doubleangle=double.Parse(Console.ReadLine());doubleradian=DEG(angle);Console.WriteLineC角度[{0}]的弧度值為[{1}]\angle,radian);}catch(Exception)(})〃將ddd.mmss轉(zhuǎn)為弧度staticpublicdoubleDEG(doubleang)(intfuhao=1;if(ang<0)fuhao=-1;ang=Math.Abs(ang)+1.0E-15;intd=(int)ang;intm=((int)(ang*100))-d*100;doubles=ang*10000-m*100-d*10000;return((d+m/60.0+s/3600.0)*fuhao)/180.0*Math.PI;))}(2)將以弧度表示的角度轉(zhuǎn)換為以度分秒表示的角度。(提示度分秒的格式為:d.mmss,d?一代表度,mm-一代表分,ss-代表秒,如20度34分56.12秒的度分秒格式是20.345612)usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplicationlclassApplication(staticvoidMain(string[]a)(Console.Write("請(qǐng)輸入角度的弧度值=");try(doubleradian=double.Parse(Console.ReadLine());doubleangle=DMS(radian);Console.WriteLine("角度【{〇}】的度分秒值為[{1}],,radian,angle);)catch(Exception){})〃將弧度轉(zhuǎn)為ddd.mmssstaticpublicdoubleDMS(doubleang)(ang+=1.0E-15;〃加上一小量,以保證進(jìn)位intfuhao=(int)(ang/Math.Abs(ang));ang=Math.Abs(ang)*180.0/Math.PI;intd=(int)ang;ang=(ang-d)*60.0;intm=(int)ang;doubles=(ang-m)*60.0;return(d+m/100.0+s/10000.0)*fuhao;)))(3)已知某目標(biāo)盤左盤右的豎盤讀數(shù)分別為L(zhǎng)和R,試計(jì)算其垂直角a和指標(biāo)差X。(提示:x=L[(L+R)—360]a=-[(/?-L)-l80])usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplicationl(classApplication(staticvoidMain(string[]a)(try(Console.Write("請(qǐng)輸入垂直角的盤左觀測(cè)值=");doubleL=double.Parse(Console.ReadLine());Console.Write("請(qǐng)輸入垂直角的盤右觀測(cè)值=");doubleR=double.Parse(Console.ReadLineQ);L=DEG(L);R=DEG(R);Console.WriteLine("指磔={〇}垂直度={1}”,DMS((L+R)*0.5-180.0),DMS((R-L)*0.5-90));)catch(Exception)())〃將ddd.mmss轉(zhuǎn)為度staticpublicdoubleDEG(doubleang)(intfuhao=1;if(ang<0)fuhao=-1;ang=Math.Abs(ang)+1.0E-15;intd=(int)ang;intm=((int)(ang*100))-d*100;doubles=ang*10000-m*100-d*10000;return((d+m/60.0+s/3600.0)*fuhao)/180.0*Math.PI;)〃將度轉(zhuǎn)為ddd.mmssstaticpublicdoubleDMS(doubleang)ang+=1.0E-15;〃加上一個(gè)小量,以保證進(jìn)位intfuhao=(int)(ang/Math.Abs(ang));ang=Math.Abs(ang);intd=(int)ang;ang=(ang-d)*60.0;intm=(int)ang;doubles=(ang-m)*60.0;return(d+m/100.0+s/10000.0)*fuhao;)))(4)為以度分秒表示的角度設(shè)計(jì)ー個(gè)類(class),該類必須重載操作符"+"和"-",以完成對(duì)兩個(gè)角度的加和減運(yùn)算。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplicationl{classApplication(staticvoidMain(string[]a)(try(Console.Write("請(qǐng)輸入第一個(gè)角度[ddd.mmss]=");角度L=new角度(double.Parse(Console.ReadLine()));Console.Write("請(qǐng)輸入第二個(gè)角度[ddd.mmss]=");角度R=new角度(double.Parse(Console.ReadLine()));Console.WriteLine("兩角度的和={〇}兩角度的差={1ド,L+R,L-R);)catch(Exception)class角度(〃十進(jìn)制角度值,以度為單位privatedoubleang;〃功能:對(duì)外以ddd.mmss格式表示角度,對(duì)內(nèi)則轉(zhuǎn)換為十逬制度格式表示角度publicdouble值{get(returnDMS(ang);)set(ang=DEG(value);))〃構(gòu)造函數(shù)public角度(doubleangle){ang=DEG(angle);)public角度〇:this(O.O){}public角度(角度p)(ang=p.ang;)//運(yùn)算符重載staticpublic角度operator+(角度pl,角度p2){角度p3=new角度();p3.ang=pl.ang+p2.ang;returnp3;)staticpublic角度operator-(角度pl/角度p2)角度p3=new角度();p3.ang=pl.ang-p2.ang;returnp3;)〃重載ToString方法publicoverridestringToStringO(returnDMS(ang).ToString();)〃將ddd.mmss轉(zhuǎn)為弧度staticpublicdoubleDEG(doubleang)(intfuhao=1;if(ang<0)fuhao=-1;ang=Math.Abs(ang)+1.0E-15;intd=(int)ang;intm=((int)(ang*100))-d*100;doubles=ang*10000-m*100-d*10000;return((d+m/60.0+s/3600.0)*fuhao)/180.0*Math.PI;}〃將度轉(zhuǎn)為ddd.mmssstaticdoubleDMS(doubleang)(ang十=l.0E?15;〃加上一個(gè)小量,以保證進(jìn)位intfuhao=(int)(ang/Math.Abs(ang));ang=Math.Abs(ang);intd=(int)ang;ang=(ang-d)*60.0;intm=(int)ang;doubles=(ang-m)*60.0;return(d+m/100.0+s/10000.0)*fuhao;})}(5)為以度分秒表示的角度設(shè)計(jì)ー個(gè)類(class),該類必須重載操作符和ソ〃,以完成角度與標(biāo)量乘和除的運(yùn)算。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplicationl(classApplication(staticvoidMain(string[]a){try(Console.Write("請(qǐng)輸入一^角度[ddd.mmss]=");角度ang=new角度(double.Parse(Console.ReadLine()));Console.Write("請(qǐng)輸入實(shí)數(shù)=");doublek=double.Parse(Console.ReadLine());Console.WriteLine("角度乘實(shí)數(shù)={〇}實(shí)數(shù)乘角度={1}角度除實(shí)數(shù)={2}”,ang*k,k*ang,ang/k);)catch(Exception)()))class角度(〃十進(jìn)制角度值,以度為單位privatedoubleang;〃功能:對(duì)タト以ddd.mmss格式表示角度,對(duì)內(nèi)則轉(zhuǎn)換為十逬制度格式表示角度publicdouble值(getreturnDMS(ang);}setang=DEG(value);))〃構(gòu)造函數(shù)public角度(doubleangle)(ang=DEG(angle);)public角度〇:this(O.O){}public角度(角度p)(ang=p.ang;)〃運(yùn)算符重載staticpublic角度operator*(角度pl,doublek)(角度p3=new角度();p3.ang=pl.ang*k;returnp3;}staticpublic角度operator*(doublek,角度pl)(returnpl*k;)staticpublic角度operator/(角度pl,doublek)(角度p3=new角度();p3.ang=pl.ang/k;returnp3;)〃重載ToString方法publicoverridestringToStringO(returnDMS(ang).ToString();)/雨ddd.mmss轉(zhuǎn)為弧度staticpublicdoubleDEG(doubleang)(intfuhao=1;if(ang<0)fuhao=-1;ang=Math.Abs(ang)+1.0E-15;intd=(int)ang;intm=((int)(ang*100))-d*100;doubles=ang*10000-m*100-d*10000;return((d+m/60.0+s/3600.0)*fuhao)/180.0*Math.PI;)〃將度轉(zhuǎn)為ddd.mmssstaticdoubleDMS(doubleang)(ang+=1.0E-15ル加上一個(gè)小量,以保證逬位intfuhao=(int)(ang/Math.Abs(ang));ang=Math.Abs(ang);intd=(int)ang;ang=(ang-d)*60.0;intm=(int)ang;doubles=(ang-m)*60.0;return(d+m/100.0+s/10000.0)*fuhao;)))(6)請(qǐng)構(gòu)造ー個(gè)矩陣類Matrix,使下面的程序能夠正確運(yùn)行。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣(classProgram{staticvoidMain(stringロargs)〃構(gòu)造ー個(gè)2*2的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造一個(gè)2*2的單位方陣Matrixm2=newMatrix(2,2);m2.SetUnit();Matrixresult=ml+m2;Console.WriteLine(result.ToStringO);))}林?usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣(classProgram(staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2*2的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造ー個(gè)2*2的單位方陣Matrixm2=newMatrix(2,2);m2.SetUnit();Matrixresult=ml+m2;Console.WriteLine(result.ToStringO);))publicclassMatrix〃構(gòu)造方陣publicMatrix(introw)m_data=newdouble[row,row];)publicMatrix(introw,intcol)(m_data=newdouble[row,col];)〃設(shè)為單位陣publicvoidSetllnit(){for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)

m_data[i,j]=((i==j)?1:0);)〃設(shè)置元素值publicvoidSetValue(doubled)(for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)m_data[i,j]=d;}〃返中行數(shù)publicintRow(get(returnm_data.GetLength(0);))〃返回列數(shù)publicintCol(get(returnm_data.GetLength(l);))〃重載索引,存取數(shù)據(jù)成員publicdoublethis[introw,intcol]{get(returnm_data[row,col];)set(m_data[row,col]=value;))〃矩陣加publicstaticMatrixoperator+(MatrixIhs,Matrixrhs){if(Ihs.Row!=rhs.Row)〃異常(System.Exceptione=newException("相加的兩個(gè)矩陣的行數(shù)不等");throwe;}if(Ihs.Col!=rhs.Col)〃異常(System.Exceptione=newException("相加的兩個(gè)矩陣的列數(shù)不等");throwe;)introw=Ihs.Row;intcol=Ihs.Col;Matrixret=newMatrix(row,col);for(inti=0;i<row;i++)for(intj=0;j<col;j++)(doubled=lhs[i,j]+rhs[i,j];ret[i,j]=d;returnret;〃轉(zhuǎn)為字符串publicoverridestringToStringO(strings=for(inti=0;i<Row;i++){for(intj=0;j<Col;j++)s+=string.Format(M{0}",m_data[i,j]);s+="\r\n";)returns;)/題有數(shù)據(jù)成員privatedouble[Jm_data;}}(7)請(qǐng)構(gòu)造ー個(gè)矩陣類Matrix,使下面的程序能夠正確運(yùn)行。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣{classProgram(staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2ケ的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造ー個(gè)2絞的單位方陣Matrixm2=newMatrix(2,2);m2.SetUnit();Matrixresult=ml-m2;Console.WriteLine(result.ToStringO);}答:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣(classProgram(staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2*2的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造ー個(gè)2*2的單位方陣Matrixm2=newMatrix億2);m2.SetUnit();Matrixresult=ml-m2;Console.WriteLine(result.ToStringO);))publicclassMatrix(//構(gòu)造方陣publicMatrix(introw){m_data=newdouble[row,row];)publicMatrix(introw,intcol){m_data=newdouble[row,col];)//設(shè)為單位陣publicvoidSetUnit(){for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)

m_data[i,j]=((i==j)?1:0);)〃設(shè)置元素值publicvoidSetValue(doubled){for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)m_data[i,j]=d;)〃返中行數(shù)publicintRow(get(returnm_data.GetLength(0);})〃返回列數(shù)publicintCol(get(returnm_data.GetLength(l);})〃重載索引,存取數(shù)據(jù)成員publicdoublethis[introw,intcol]{get{returnm_data[row,col];)setm_data[row,col]=value;))〃矩陣減publicstaticMatrixoperator-(MatrixIhs,Matrixrhs)(if(Ihs.Row!=rhs.Row)〃異常(System.Exceptione=newException("相減的兩個(gè)矩陣的行數(shù)不等”);throwe;)if(Ihs.Col!=rhs.Col)〃異常(System.Exceptione=newException("相減的兩個(gè)矩陣的列數(shù)不等");throwe;)introw=Ihs.Row;intcol=Ihs.Col;Matrixret=newMatrix(row,col);for(inti=0;i<row;i++)for(intj=0;j<col;j++)(doubled=lhs[i,j]-rhs[i,j];ret[ij]=d;}returnret;)〃轉(zhuǎn)為字符串publicoverridestringToStringO(strings=for(inti=0;i<Row;i++){for(intj=0;j<Col;j++)s+=string.Format(n{0}"rm_data[izj]);s+="\r\n";}returns;)//私有數(shù)據(jù)成員privatedoublet]m_data;))(8)請(qǐng)構(gòu)造ー個(gè)矩陣類Matrix,使下面的程序能夠正確運(yùn)行。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣(classProgram{staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2*2的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造ー個(gè)2つ的單位方陣Matrixm2=newMatrix。,2);m2.SetUnit();Matrixresult=ml*m2;Console.WriteLine(result.ToStringO);))}答:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣classProgram(staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2*2的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造ー個(gè)2*2的單位方陣Matrixm2=newMatrix(2,2);m2.SetUnit();Matrixresult=ml*m2;Console.WriteLine(result.ToStringO);))publicclassMatrix(〃構(gòu)造方陣publicMatrix(introw){m_data=newdouble[row,row];)publicMatrix(introw,intcol)(m_data=newdouble[row,col];)〃設(shè)為單位陣publicvoidSetUnit()(for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)

m_data[i,j]=((i==j)?1:0);)〃設(shè)置元素值publicvoidSetValue(doubled)for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)m_data[i,j]=d;)〃返中行數(shù)publicintRow(get(returnm_data.GetLength(O);))〃返回列數(shù)publicintCol(get(returnm_data.GetLength(l);})〃重載索引,存取數(shù)據(jù)成員publicdoublethis[introw,intcol](get(returnm_data[row,col];}set(m_data[row,col]=value;))〃矩陣乘publicstaticMatrixoperator*(MatrixIhs,Matrixrhs)if(Ihs.Col!=rhs.Row)〃異常(System.Exceptione=newException("相乘的兩個(gè)矩陣的行列數(shù)不匹配");throwe;)Matrixret=newMatrix(lhs.Rowzrhs.Col);doubletemp;for(inti=0;i<Ihs.Row;i++)(for(intj=0;j<rhs.Col;j++)(temp=0;for(intk=0;k<Ihs.Col;k++)(temp+=lhs[i,k]*rhs[kj];)ret[ij]=temp;}}returnret;}〃轉(zhuǎn)為字符串publicoverridestringToStringO(strings=”";for(inti=0;i<Row;i++)(for(intj=0;j<Col;j++)s+=string.Format(n{0}n,m_data[i,j]);s+="\r\n";)returns;)〃私有數(shù)據(jù)成員privatedouble[Jm_data;(9)請(qǐng)構(gòu)造一個(gè)矩陣類Matrix,使下面的程序能夠正確運(yùn)行。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣{classProgram(staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2*2的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造ー個(gè)2*2的單位方陣Matrixm2=newMatrix(2,2);m2.SetUnit();Matrixresult=2.0*ml*m2*3.0;Console.WriteLine(result.ToStringO);))}答:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣{classProgram{staticvoidMain(string[]args)|〃構(gòu)造ー個(gè)2*2的方陣Matrixml=newMatrix(2);〃每個(gè)元素的值設(shè)置為2.0ml.SetValue(2.0);〃構(gòu)造一個(gè)2*2的單位方陣Matrixm2=newMatrix(2/2);m2.SetUnit();Matrixresult=2.0*ml*m2*3.0;Console.WriteLine(result.ToStringO);))publicclassMatrix(〃構(gòu)造方陣publicMatrix(introw)(m_data=newdouble[row,row];)publicMatrix(introw,intcol)(m_data=newdouble[row,col];}〃復(fù)制構(gòu)造函數(shù)publicMatrix(Matrixm)(introw=m.Row;intcol=m.Col;m_data=newdouble[row,col];for(inti=0;i<row;i++)for(intj=0;j<col;j++)m_data[i,j]=m[i,j];)〃設(shè)為單位陣publicvoidSetUnit()(for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)

m_data[i,j]=((i==j)?1:0);)〃設(shè)置元素值publicvoidSetValue(doubled)(for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)m_data[i,j]=d;)〃返中行數(shù)publicintRow(get(returnm_data.GetLength(O);))〃返回列數(shù)publicintCol{get(returnm_data.GetLength(l);))〃重載索引,存取數(shù)據(jù)成員publicdoublethis[introw,intcol](get(returnm_data[row,col];)setm_data[row,col]=value;〃矩陣乘publicstaticMatrixoperator*(MatrixIhs,Matrixrhs)(if(Ihs.Col!=rhs.Row) 〃異常(System.Exceptione=newException("相乘的兩個(gè)矩陣的行列數(shù)不匹配");throwe;)Matrixret=newMatrix(lhs.Row,rhs.Col);doubletemp;for(inti=0;i<Ihs.Row;i++)(for(intj=0;j<rhs.Col;j++)(temp=0;for(intk=0;k<Ihs.Col;k++)(temp+=lhs[i,k]*rhs[k,j];)ret[i,j]=temp;}}returnret;)〃數(shù)乘以矩陣publicstaticMatrixoperator*(doubled,Matrixm)(Matrixret=newMatrix(m);for(inti=0;i<ret.Row;i++)for(intj=0;j<ret.Col;j++)ret[ij]*=d;returnret;)〃矩陣乘以數(shù)publicstaticMatrixoperator*(Matrixm,doubled)returnd*m;)〃轉(zhuǎn)為字符串publicoverridestringToStringO{strings=for(inti=0;i<Row;i++)(for(intj=0;j<Col;j++)s+=string.Format("{0}",m_data[i,j]);s+="\r\n";)returns;)〃私有數(shù)據(jù)成員privatedouble[Jm_data;)}(10)請(qǐng)構(gòu)造ー個(gè)矩陣類Matrix,使下面的程序能夠正確運(yùn)行。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣{classProgram(staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2つ的單位方陣Matrixm=newMatrix。,2);m.SetUnitO;Matrixresult=-m;result=+m;Console.WriteLine(result.ToStringO);)答:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace矩陣{classProgram(staticvoidMain(string[]args)(〃構(gòu)造ー個(gè)2*2的單位方陣Matrixm=newMatrix。,2);m.SetUnitO;Matrixresult="m;result=十m;Console.WriteLine(result.ToStringO);))publicclassMatrix{〃構(gòu)造方陣publicMatrix(introw)(m_data=newdouble[row,row];)publicMatrix(introw,intcol)(m_data=newdouble[row,col];)〃復(fù)制構(gòu)造函數(shù)publicMatrix(Matrixm)|introw=m.Row;intcol=m.Col;m_data=newdouble[row,col];for(inti=0;i<row;i++)for(intj=0;j<col;j++)m_data[i,j]=m[i,j];)〃設(shè)為單位陣publicvoidSetUnit()(for(inti=0;i<m_data.GetLength(O);i++)for(intj=0;j<m_data.GetLength(l);j++)

m_data[i,j]=((i==j)?1:0);)〃設(shè)置元素值publicvoidSetValue(doubled){for(inti=0;i<m_data.GetLength(0);i++)for(intj=0;j<m_data.GetLength(l);j++)m_data[i,j]=d;)〃返中行數(shù)publicintRow(get(returnm_data.GetLength(0);))〃返回列數(shù)publicintCol(get{returnm_data.GetLength(l);})〃重載索引,存取數(shù)據(jù)成員publicdoublethis[i

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論