经典C#编程例子.docx
《经典C#编程例子.docx》由会员分享,可在线阅读,更多相关《经典C#编程例子.docx(50页珍藏版)》请在冰豆网上搜索。
经典C#编程例子
<1>
//
(1)开发控制台应用程序,实现一个欢迎界面的功能。
//首先程序提示用户输入姓名,然后显示“欢迎XXX进入C#的世界”。
//最后显示一段鼓励的话,如“AZAAZAFighting!
”。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise1
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请输入您的姓名:
");
strings=Console.ReadLine();
Console.WriteLine("欢迎"+s+"进入C#的世界!
");
Console.WriteLine("AZAAZAFighting!
");
}
<2>
//
(2)已知两个矩形的长和宽,编程求它们的面积和周长。
//假设,矩形1的长和宽分别为50和20;矩形2的长和宽分别为5.6和4.5。
//长、宽由键盘输入。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise2
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请输入第1个矩形的长和宽:
");
floata1=Convert.ToSingle(Console.ReadLine());
floatb1=Convert.ToSingle(Console.ReadLine());
Console.WriteLine("请输入第2个矩形的长和宽:
");
floata2=Convert.ToSingle(Console.ReadLine());
floatb2=Convert.ToSingle(Console.ReadLine());
Console.WriteLine("第1个矩形的周长是{0},面积是{1}",2*(a1+b1),a1*b1);
Console.WriteLine("第2个矩形的周长是{0},面积是{1}",2*(a2+b2),a2*b2);
}
}
<3>
//(3)写出一个控制台应用程序,实现一个string类型变量转换为一个int类型变量的多种方法。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise3
{
classProgram
{
staticvoidMain(string[]args)
{
strings=Console.ReadLine();
inti=Convert.ToInt32(s);//第1种方法
intj=Int32.Parse(s);//第2种方法
Console.WriteLine("{0},{1}",i,j);
}
}
}
<4>
//(4)编写一个控制台程序,将用户输入的以秒为单位计算的时间长度拆分为以时、分、秒计量,并输出。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise4
{
classProgram
{
staticvoidMain(string[]args)
{
intt=Int32.Parse(Console.ReadLine());
inth=t/3600;
intm=t%3600/60;
ints=t%60;
Console.WriteLine(t+"秒转换为:
");
Console.WriteLine("{0}小时{1}分{2}秒",h,m,s);
}
}
<5>
//
(2)编写程序,输出100以内个位数为6且能被3整除的所有的数。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise
{
classProgram
{
staticvoidMain(string[]args)
{
for(inti=1;i<100;i++)
if((i%10==6)&&(i%3==0))
Console.WriteLine(i);
}
}
}
<6>
//
(1)编写程序,使用if语句将输入的三个整数按从小到大的顺序排序。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise1
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请输入三个整数:
");
inta=Convert.ToInt32(Console.ReadLine());
intb=Convert.ToInt32(Console.ReadLine());
intc=Convert.ToInt32(Console.ReadLine());
intt;
if(a>b)
{
t=a;a=b;b=t;
}
if(b>c)
{
t=b;b=c;c=t;
}
if(a>b)
{
t=a;a=b;b=t;
}
Console.WriteLine("排序后为:
{0},{1},{2}",a,b,c);
}
}
}
<7>
//(3)编写一个简单的计算器程序,能够根据用户从键盘输入的运算指令和整数,进行简单的加减乘除运算。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise3
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请输入两个运算数字:
");
inta=Convert.ToInt32(Console.ReadLine());
intb=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入运算符号:
");
chars=Convert.ToChar(Console.ReadLine());
switch(s)
{
case'+':
Console.WriteLine(a+"+"+b+"={0}",a+b);break;
case'-':
Console.WriteLine(a+"-"+b+"={0}",a-b);break;
case'*':
Console.WriteLine(a+"*"+b+"={0}",a*b);break;
case'/':
Console.WriteLine(a+"/"+b+"={0}",(Single)a/b);break;
default:
Console.WriteLine("输入的运算符有误!
");break;
}
}
}
}
<8>
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
//(4)合数就是非素数,即除了1和它本身之外还有其他约数的正整数。
//编写一个程序求出指定数据范围(假设10~100)内的所有合数。
namespaceexercise4
{
classProgram
{
staticvoidMain(string[]args)
{
for(inti=10;i<=100;i++)
for(intj=2;j
if(i%j==0)
{
Console.Write(i);
Console.Write("");
break;
}
}
}
}
<9>
//
(1)定义两个方法,分别求两个正整数的最大公约数和最小公倍数。
//其中,最大公约数的计算采用辗转相除法;最小公倍数的计算采用先计算最大公约数,
//然后再用两个数的积去除最大公约数来求得。
//在Main方法中实现两个待求正整数的输入及结果的输出。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise1
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请输入两个正整数:
");
inti=Convert.ToInt32(Console.ReadLine());
intj=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("最大公约数是:
{0}",gcd(i,j));
Console.WriteLine("最小公倍数是:
{0}",gcm(i,j));
}
publicstaticintgcd(inta,intb)
{
intmax=a>b?
a:
b;
intr=a%b;
while(r!
=0)
{
a=b;b=r;r=a%b;
}
returnb;
}
publicstaticintgcm(inta,intb)
{
returna*b/gcd(a,b);
}
}
}
<10>
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
//
(2)定义一个方法,给三个整数按从小到大的顺序排序并求其和及平均值。
//其中,三个待求整数及其排序后的结果由引用参数传递;其和由输出参数传递;
//平均值由返回值返回。
在Main方法中实现三个待求整数的输入及结果的输出。
namespaceexercise2
{
classProgram
{
staticvoidMain(string[]args)
{
ints=0;
Console.WriteLine("请输入3个正整数:
");
inta=Convert.ToInt32(Console.ReadLine());
intb=Convert.ToInt32(Console.ReadLine());
intc=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("平均值为:
"+function(refa,refb,refc,outs));
Console.WriteLine("排序后:
{0},{1},{2}",a,b,c);
Console.WriteLine("和为:
"+s);
}
publicstaticdoublefunction(refinti,refintj,refintk,outintsum)
{
intt;
if(i>j)
{
t=i;i=j;j=t;
}
if(j>k)
{
t=j;j=k;k=t;
}
if(i>j)
{
t=i;i=j;j=t;
}
sum=i+j+k;
return(i+j+k)/3.0;
}
}
}
<11>
//(3)用重载方法实现两个整数或三个浮点数的排序,
//按照从小到大的顺序将排序结果输出。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise3
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请输入两个正整数:
");
inta=Convert.ToInt32(Console.ReadLine());
intb=Convert.ToInt32(Console.ReadLine());
sort(refa,refb);
Console.WriteLine("排序后:
{0},{1}",a,b);
Console.WriteLine("请输入3个浮点数:
");
floatx=Convert.ToSingle(Console.ReadLine());
floaty=Convert.ToSingle(Console.ReadLine());
floatz=Convert.ToSingle(Console.ReadLine());
sort(refx,refy,refz);
Console.WriteLine("排序后:
{0},{1},{2}",x,y,z);
}
publicstaticvoidsort(refinti,refintj)
{
if(i>j)
{
intt=i;i=j;j=t;
}
}
publicstaticvoidsort(reffloati,reffloatj,reffloatk)
{
floatt;
if(i>j)
{
t=i;i=j;j=t;
}
if(j>k)
{
t=j;j=k;k=t;
}
if(i>j)
{
t=i;i=j;j=t;
}
}
}
}
<12>
//(6)创建一个类,它存储一个int数据成员MyNumber,
//并给该数据成员创建属性。
当该数据成员被存储时,
//将其乘以100;当其被读取时,将其除以100。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise
{
classProgram
{
staticvoidMain(string[]args)
{
Testt=newTest();
t.Number=11;
Console.WriteLine(t.Number);
}
}
classTest
{
privateintMyNumber;
publicintNumber
{
get{returnMyNumber/100;}
set{MyNumber=value*100;}
}
}
}
<13>
//
(1)在控制台应用程序中创建student类,并声明构造函数及构造函数的重载。
//要求类定义中包含字段:
学号(字符串),姓名(字符串),年龄(整型)和性别(布尔型)。
//输出性别时,根据对应的布尔值,输出“男”或“女”。
//要求:
使用字段时可声明为公有,可以不使用属性。
//声明三种不同的构造函数,包括:
①可初始化学号、姓名、性别与年龄字段值的构造函数;
//②只初始化姓名的构造函数;③声明默认的无参构造函数。
//实现用不同的初始化方式来声明3个不同的对象,并输出相应成员的值。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise1
{
classProgram
{
staticvoidMain(string[]args)
{
Console.Write("stu1:
");
studentstu1=newstudent();
studentstu2=newstudent("张三");
Console.WriteLine("stu2:
"+stu2.name);
studentstu3=newstudent("20071234","李四",true,20);
Console.Write("stu3:
{0},{1},{2},",stu3.id,stu3.name,stu3.age);
stu3.printsex();
}
}
classstudent
{
publicstringid;
publicstringname;
publicintage;
publicboolsex;
publicvoidprintsex()
{
if(sex==true)
Console.WriteLine("男");
else
Console.WriteLine("女");
}
publicstudent(stringi,stringn,bools,inta)
{
id=i;name=n;sex=s;age=a;
}
publicstudent(stringn)
{
name=n;
}
publicstudent()
{
Console.WriteLine("没有初始化数据");
}
}
}
<14>
//
(2)在控制台应用程序中创建Car类,在类中定义字段和属性。
//私有字段包括mcolor和mwheels,公有属性包括Color和Wheels。
//构造对象mycar,并设置属性颜色为“红色”,轮子数为4,最后输出属性的值。
//要求:
设计完成后,利用单步执行(快捷键F11),了解属性的调用过程。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise2
{
classProgram
{
staticvoidMain(string[]args)
{
Carmycar=newCar();
mycar.Color="红色";
mycar.Wheels=4;
Console.WriteLine("颜色为:
"+mycar.Color);
Console.WriteLine("轮子数为:
"+mycar.Wheels);
}
}
classCar
{
privatestringmcolor;
privateintmwheels;
publicstringColor
{
get{returnmcolor;}
set{mcolor=value;}
}
publicintWheels
{
get{returnmwheels;}
set{mwheels=value;}
}
}
}
<15>
//(3)定义一个描述复数的类Complex并测试。
Complex类中包含两个私有字段,
//用于保存复数的实部和虚部,相应属性用于访问字段。
//另外还定义有两个方法,分别用于对两个复数进行加、减四则运算,
//且有带参数的构造函数,用于在创建复数对象时初始化复数的实部和虚部。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceexercise3
{
classProgram
{
staticvoidMain(string[]args)
{
Complexc1=newComplex(5,6);
Complexc2=newComplex(3,4);
Console.WriteLine("复数1:
{0}+{1}i",c1.Real,c1.Image);
Console.WriteLine("复数2:
{0}+{1}i",c2.Real,c2.Image);
Complexa=c1.add(c2);
Console.WriteLine("其和为:
{0}+{1}i",a.Real,a.Image);
Complexb=c1.sub(c2);
Console.WriteLine("其差为:
{0}+{1}i",b.Real,b.Image);
}
}
classComplex
{
privateintreal;
privateintimage;
publicintReal
{
get{returnreal;}
set{real=value;}
}
publicintImage
{
get{returnimage;}
set{image=value;}
}
publicComplex(inti,intj)
{
this.Real=i;
this.Image=j;
}
publicComplexadd(Complexx)
{
returnnewComplex(this.Real+x.Real,this.Image+x.Image);
}
publicComplexsub(Complexx)
{
returnnewComplex(this.Real-x.Real,this.Image-x.Image);
}
}
}
<17>
//(4)创建一个描述图书信息的类并测试。
//类中应保存有图书的书号、标题、作