常用C#源代码.docx

上传人:b****9 文档编号:25605624 上传时间:2023-06-10 格式:DOCX 页数:82 大小:34.33KB
下载 相关 举报
常用C#源代码.docx_第1页
第1页 / 共82页
常用C#源代码.docx_第2页
第2页 / 共82页
常用C#源代码.docx_第3页
第3页 / 共82页
常用C#源代码.docx_第4页
第4页 / 共82页
常用C#源代码.docx_第5页
第5页 / 共82页
点击查看更多>>
下载资源
资源描述

常用C#源代码.docx

《常用C#源代码.docx》由会员分享,可在线阅读,更多相关《常用C#源代码.docx(82页珍藏版)》请在冰豆网上搜索。

常用C#源代码.docx

常用C#源代码

C#程序设计

一、实验名称:

C#实验

二、实验目的:

通过上机实际操作将平时课堂所学具体实现,通过该实验来检查自己的学习成功,并且发现

平时学习中没有注意到的问题并解决之,从而加深对该门课程的以及C#语言的了解。

三、实验步骤:

实验一:

C#编程环境

实验目的:

1.熟悉掌握C#开发环境的安装与配置

2.熟悉开发环境,编写控制台和窗口两个版本的helloworld范例程序

实验内容:

实验1-1:

编写一个控制台程序,并且输出“helloworld!

相关主要代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespacehello_world

{

classSY1_2

{

staticvoidMain(string[]args)

{

Console.WriteLine("HelloWorld!

");

}

}

}

抓图结果:

实验1-2:

编写一个Windows应用程序,并且输出“helloworld!

相关主要代码:

namespacehello_world2

{

publicpartialclassForm1:

Form

{

publicForm1()

{

InitializeComponent();

}

privatevoidForm1_Load(objectsender,EventArgse)

{

MessageBox.Show("HelloWorld","MessagefromC#");

}

}

}

抓图结果:

实验二:

C#编程基础

实验目的:

1.熟悉掌握C#的各种数据类型,常量、变量的表达形式;

2.熟悉掌握C#的运算符和表达式;

3.熟悉掌握C#的语言,会使用顺序、选择、循环等语句结构编写程序;

4.熟悉掌握C#的数组,学会数组的定义、初始化以及数组的应用。

实验内容:

实验2-1:

有红、黄、黑、白四色球各一个,放置在一个编号为1、2、3、4的四个盒子中,每个盒子放置一

只球,它们的顺序不知。

甲、乙、丙三人猜测放置顺序如下:

甲:

黑球在1号盒子,黄球在2号盒子;

乙:

黑球在2号盒子,白球在3号盒子;

丙:

红球在2号盒子,白球在4号盒子。

结果证明甲、乙、丙三人各猜中了一半,给出四色球放置在盒中的情况。

相关的主要代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceSY2_1

{

classProgram

{

staticvoidMain(string[]args)

{

inta,b,c,d;

for(a=1;a<=4;a++)

for(b=1;b<=4;b++)

for(c=1;c<=4;c++)

if(a!

=b&&b!

=c&&c!

=a)

{

d=10-a-b-c;

if((c==1&&b==4)&&(a==2&&d==3))

{

Console.Write("红球放置在{0}号,黄球放置在{1}号,",a,b);

Console.WriteLine("黑球放置在{0}号,白球放置在{1}号",c,d);

}

}

Console.Read();

}

}

}

抓图结果:

实验2-2:

采用筛选法求2-64之间的质数。

相关主要代码:

usingSystem;

publicclassTestNumSort

{

publicstaticvoidMain()

{

intsieve,w;

inti,j,p,k;

boolflg=true;

sieve=~0x0;

p=3;

for(i=0;i<32;i++)

{

w=0x1<

while(j+i<32)

{

sieve&=~w;

w<<=p;j+=p;

}

k=i+1;

while(((sieve>>k)&0x01)==0)

{

k++;i++;

}

p=p+2;

}

Console.WriteLine("2到64之间的素数有");

Console.Write("{0,4}",2);

p=3;w=1;

for(i=0;i<32;i++)

{

if((sieve>>i&0x01)!

=0)

Console.Write("{0,3}",p);

p+=2;

}

Console.WriteLine();

Console.Read();

}

}

抓图结果:

实验2-3:

根据给出的公式编程计算兀的值,直至所加项小于1E-10为止。

相关主要代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceSY2_3

{

classProgram

{

staticvoidMain(string[]args)

{

doublesum=0.5,t,t1,t2,t3,p=0.5*0.5;

intodd=3,even=2,k;

t=t1=t2=1.0;

t3=1/2.0;

while(t>1e-10)

{

even+=2;

t2=1.0/odd;

t1=t1*(odd-2)/(even-2);

odd+=2;

t3=t3*(1/2.0)*(1/2.0);

t=t1*t3*t2;

sum+=t;

}

Console.WriteLine("\nPI={0,10:

f8}",sum*6);

Console.Read();

}

}

}

抓图结果:

实验2-4:

编程进行卡布列克运算。

所谓卡布列克运算,是指任意一个四位数,只要它们各个位上的数字不

全相同,就有这样的规律:

1)把组成这个四位数的四个数字由大到小排列,形成由这四个数字构成的最大数字

2)把组成这个四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数

3)求出以上两数之差,得到一个新的四位数

重复以上过程,总能得到最后的结果是6174。

相关的主要代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceSY2_4

{

classProgram

{

staticvoidMain(string[]args)

{

Console.Write("请输入一个4位整数");

strings=Console.ReadLine();

intnum=Convert.ToInt32(s);

int[]each=newint[4];

intmax,min,i,j,temp;

while(num!

=6174&&num!

=0)

{

i=0;

while(num!

=0)

{

each[i++]=num%10;

num=num/10;

}

for(i=0;i<3;i++)

for(j=0;j<3-i;j++)

if(each[j]>=each[j+1])

{

temp=each[j];

each[j]=each[j+1];

each[j+1]=temp;

}

min=each[0]*1000+each[1]*100+each[2]*10+each[3];

max=each[3]*1000+each[2]*100+each[1]*10+each[0];

num=max-min;

Console.WriteLine("{0}-{1}={2}",max,min,num);

}

Console.Read();

}

}

}

抓图的结果:

实验2-5:

数列A={1,1,3,7,17,41……}有以下性质:

a=a=1;

a=a+2a(i>1)

对于给定的n,数列的各个元素值由数列A的元素生成即以a/a的分数形式表示,然后对其进行排序

相关的主要代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceSY2_5

{

classProgram

{

staticvoidMain(string[]args)

{

int[]A=newint[11];

int[,]Fraction=newint[2,11];

float[]B=newfloat[10];

inti,n,j,pos,temp;

floatftemp;

A[0]=A[1]=1;

Console.Write("\n请输入n(n<=10)值:

");

strings=Console.ReadLine();

n=Convert.ToInt32(s);

for(i=2;i

A[i]=A[i-2]+2*A[i-1];

for(i=0;i

{

B[i]=(float)A[i]/A[i+1];

Fraction[0,i]=A[i];

Fraction[1,i]=A[i+1];

}

for(i=0;i

{

for(j=(pos=i)+1;j

if(B[j]

pos=j;

if(i!

=pos)

{

ftemp=B[pos];

B[pos]=B[i];

B[i]=ftemp;

temp=Fraction[0,pos];

Fraction[0,pos]=Fraction[0,i];

Fraction[0,i]=temp;

temp=Fraction[1,pos];

Fraction[1,pos]=Fraction[1,i];

Fraction[1,i]=temp;

}

}

for(i=0;i

Console.Write("{0}/{1}",Fraction[0,i],Fraction[1,i]);

Console.Read();

}

}

}

抓图的结果:

实验三:

C#面向对象程序基础

实验目的:

1.加深理解面向对象编程的概念,如类、对象、实例化等;

2.熟练掌握类的声明格式,特别是类的成员定义,构造函数,初始化对象等;

3.熟练掌握方法的声明,理解并学会使用方法的参数传递,方法的重载等

实验内容:

实验3-1:

阅读程序

相关程序代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceSY3_1

{

classProgram

{

classCRect

{

privateinttop,bottom,left,right;

publicstaticinttotal_rects=0;

publicstaticlongtotal_rect_area=0;

publicCRect()

{

left=top=right=bottom=0;

total_rects++;

total_rect_area+=getHeight()*getWidth();

Console.WriteLine("CRect()Contructingrectanglenumber{0}",total_rects);

Console.WriteLine("Totalrectangleareasis:

{0}",total_rect_area);

}

publicCRect(intx1,inty1,intx2,inty2)

{

left=x1;

top=y1;

right=x2;

bottom=y2;

total_rects++;

total_rect_area+=getHeight()*getWidth();

Console.WriteLine("CRect(int,int,int,int)Constructingrectanglenumber{0}",

total_rects);

Console.WriteLine("Totalrectangleareasis:

{0}",total_rect_area);

}

publicCRect(CRectr)

{

left=r.left;

right=r.right;

top=r.top;

bottom=r.bottom;

total_rects++;

total_rect_area+=getHeight()*getWidth();

Console.WriteLine("CRect(CRect&)Constructingrectanglenumber{0}",

total_rects);

Console.WriteLine("Totalrectangleareasis:

{0}",total_rect_area);

}

publicintgetHeight()

{

return(top>bottom?

top-bottom:

bottom-top);

}

publicintgetWidth()

{

returnright>left?

right-left:

left-right;

}

publicstaticintgetTotalRects()

{

returntotal_rects;

}

publicstaticlonggetTotalRectangle()

{

returntotal_rect_area;

}

}

publicclassTest3_1

{

staticvoidMain(string[]args)

{

CRectrect1=newCRect(1,3,6,4),rect2=newCRect(rect1);//拷贝构造,通过

重载

Console.Write("Rectangle2:

Height:

{0}",rect2.getHeight());

Console.WriteLine(",Width:

{0}",rect2.getWidth());

{

CRectrect3=newCRect();

Console.Write("Rectangle3:

Height:

{0}",rect3.getHeight());

Console.WriteLine(",Width:

{0}",rect3.getWidth());

}

Console.Write("Total_rects={0}",CRect.total_rects);

Console.WriteLine(",total_rect_area={0}",CRect.total_rect_area);

Console.Read();

}

}

}

}

抓图的结果:

实验3-2:

设计一个图书卡片类Card,用来保存图书馆卡片分类记录。

这个类的成员包括书名、作者、馆藏数

量。

至少提供两个方法,store书的入库处理,show显示图书信息,程序运行时,可以从控制台上输入需要

入库图书的总量,根据这个总数创建Card对象数组,然后输入数据,最后可以选择按书名、作者、入库量排

相关的主要代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceSY3_2

{

classCard

{

privatestringtitle,author;

privateinttotal;

publicCard()

{

title="";

author="";

total=0;

}

publicCard(stringtitle,stringauthor,inttotal)

{

this.title=title;

this.author=author;

this.total=total;

}

publicvoidstore(refCardcard)//使用ref关键字进行引用传递,似乎是它的拷贝构造

{

title=card.title;

author=card.author;

total=card.total;

}

publicvoidshow()

{

Console.WriteLine("Title:

{0},Author:

{1},Total:

{2}",title,author,total);

}

publicstringTitle//Title的属性可读可写

{

get{returntitle;}

set{title=value;}

}

publicstringAuthor

{

get{returnauthor;}

set{author=value;}

}

publicstringTotal

{

get{returnTotal;}

set{total=int.Parse(value);}

}

}

publicclassTest3_2

{

staticvoidMain(string[]args)

{

Test3_2T=newTest3_2();

Card[]books;

int[]index;

inti,k;

Cardcard=newCard();

Console.Write("请输入需要入库图书的总数:

");

stringsline=Console.ReadLine();

intnum=int.Parse(sline);

books=newCard[num];

for(i=0;i

books[i]=newCard();

index=newint[num];

for(i=0;i

{

Console.Write("请输入书名:

");

card.Title=Console.ReadLine();

Console.Write("请输入作者:

");

card.Author=Console.ReadLine();

Console.Write("请输入入库量:

");

sline=Console.ReadLine();

card.Total=sline;

books[i].store(refcard);

index[i]=i;//应该表示第几本书

}

Console.Write("请选择按什么关键字排序(1.按书名,2.按作者,3.按入库量)");

sline=Console.ReadLine();

intchoice=int.Parse(sline);

switch(choice)

{

case1:

T.sortTitle(books,index);

break;

case2:

T.sortAuthor(books,index);

break;

case3:

T.sortTotal(books,index);

break;

}

for(i=0;i

{

k=index[i];

books[k].show();//和给出的程序不同

}

Console.Read();

}

voidsortTitle(Card[]book,int[]index)

{

inti,j,m,n,temp;

for(m=0;m

{

for(n=0;n

{

i=index[n];

j=index[n+1];

if(string.Compare(book[i].Title,book[j].Title)>0)

{

temp=index[n];

index[n]=index[n+1];

index[n+1]=temp;

}

}

}

}

voidsortAuthor(Card[]book,int[]index)

{

inti,j,m,n,temp;

for(m=0;m

for(n=0;n

{

i=index[n];

j=index[n+1];

if(string.Compare(book[i].Author,book[j].Author)>0)

{

temp=index[n];

index[n]=index[n+1];

index[n+1]=temp;

}

}

}

voidsortTotal(Card[]book,int[]index)

{

inti,j,m,n,temp;

for(m=0;m

for(n=0;n

{

i=index[n];

j=index[n+1];

i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1