c#课堂实验代码6.docx
《c#课堂实验代码6.docx》由会员分享,可在线阅读,更多相关《c#课堂实验代码6.docx(15页珍藏版)》请在冰豆网上搜索。
c#课堂实验代码6
22、编写一个冒泡法排序程序,要求在程序中能够捕获到数组下标越界的异常。
classProgram
{
staticvoidMain(string[]args)
int[]arr=newint[]{2,3,1};
for(inti=0;i{for(intj=arr.Length-1;j>=0;j--){inttmp=arr[0];arr[0]=arr[1];arr[1]=tmp;}}try{for(inti=0;i<=arr.Length;i++){Console.WriteLine(arr[i]);}}catch(Exceptione){Console.WriteLine(e.ToString());}}}23、编写一个计算器程序,要求在程序中能够捕获到被0除的异常与算术运算溢出的异常。publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){inta=0,b=0;try{a=Convert.ToInt32(this.textBox1.Text);}catch(OverflowException){MessageBox.Show("a超出范围","出错");Application.Exit();}try{b=Convert.ToInt32(this.textBox2.Text);}catch(OverflowException){MessageBox.Show("b超出范围","出错");Application.Exit();}intc;c=a+b;this.textBox3.Text=c.ToString();intd;d=a-b;this.textBox4.Text=d.ToString();intg;g=a*b;this.textBox5.Text=g.ToString();doublef;try{f=a/b;this.textBox6.Text=f.ToString();}catch(DivideByZeroException){MessageBox.Show("除数不能为零","出错");Application.Exit();}}}24、编程输出1~100中能被3整除但不能被5整除的数,并统计有多少个这样的数。classProgram{staticvoidMain(string[]args){{Console.WriteLine("1~100中能被3整除但不能被5整除的数有:");inta=0;for(inti=1;i<101;i++){if(i%3==0&&i%5!=0){Console.Write(i.ToString()+'');a++;}}Console.WriteLine();Console.WriteLine("这样的数一共有{0}个",a);Console.ReadLine();}}}25、编程输出1000以内的所有素数。classProgram{staticvoidMain(string[]args){Console.WriteLine("1000以内的所有素数:");inti,j;for(i=1;i<1000;i++){for(j=2;j<=i/2;j++){if(i%j==0) break;}if(j>i/2)Console.Write(i.ToString()+'');}Console.ReadLine();26、编写一个程序,对输入的4个整数,求出其中最大值和最小值。classProgram{staticvoidMain(string[]args){int[]a=newint[4];intmax;for(inti=0;i<4;i++){Console.WriteLine("请输入第{0}个数:",i+1);a[i]=Int32.Parse(Console.ReadLine());}max=a[0];for(intj=0;j<4;j++){if(a[j]>max)max=a[j];}Console.WriteLine("其中最大值为:{0}",max);Console.Read();}}27、分别用for,while,do…while语句编写程序,实现求前n个自然数之和。classProgram{staticvoidMain(string[]args){Console.Write("请输入1个整数:");intn=int.Parse(Console.ReadLine());Console.WriteLine("使用For语句:"+SumWithFor(n));Console.WriteLine("使用While语句:"+SumWithWhile(n));Console.WriteLine("使用Do...While语句:"+SumWithDoWhile(n));Console.ReadLine();}staticintSumWithFor(intn){intsum=0;for(inti=1;i<=n;i++){sum+=i;}returnsum;}staticintSumWithWhile(intn){intsum=0,i=1;while(i<=n){sum+=i;i++;}returnsum;}staticintSumWithDoWhile(intn){intsum=0,i=1;do{sum+=i;i++;}while(i<=n);returnsum;}}28、编程输出九九乘法表。publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){inti;intj;stringa="";string[,]m=newstring[9,9];for(i=0;i<9;i++){for(j=0;j{intsum=(i+1)*(j+1);m[i,j]=(i+1)+"*"+(j+1)+"="+sum;if(i==j)a=a+m[i,j]+"\r\n\r\n";elsea=a+m[i,j]+"";this.textBox1.Text=a;}}}privatevoidForm1_Load(objectsender,EventArgse){}}29、定义一个行数和列数相等的二维数组,并执行初始化,然后计算该数级两条对角线上的元素值之和。classProgram{staticvoidMain(string[]args){int[,]nums=newint[2,2]{{2,4},{1,3}};stringstr="";intn=0;intm=0;for(inti=0;i<2;i++){str+="\n\r";for(intj=0;j<2;j++){str+=nums[i,j].ToString()+"\t";if(i==j){n=nums[0,0]+nums[1,1];}else{m=nums[0,1]+nums[1,0];}}}str+="\n\r";Console.WriteLine("数组:{0}正对角线的和为:{1},负对角线的和为:{2}",str,n,m);30、建立一个一维数组,使用该数组列出所学习的课程名称。classProgram{staticvoidMain(string[]args){ArrayListmyAL=newArrayList();myAL.Add("XX");myAL.Add("YY");myAL.Add("ZZ");StringstrName="课程名:";foreach(stringstinmyAL){strName+=st+"";}Console.WriteLine(strName);}}31、编写程序,将一年中12个月,建立一个枚举类型数据,并对其进行调用。classProgram{enummonth{January,February,March,April,May,June,july,August,September,October,November,December};staticvoidMain(string[]args){Console.WriteLine("请输入1-12的月份:");inti=int.Parse(Console.ReadLine());yuefen(i);}publicstaticvoidyuefen(inti){switch(i){case1:Console.WriteLine(month.January);break;case2:Console.WriteLine(month.February);break;case3:Console.WriteLine(month.March);break;case4:Console.WriteLine(month.April);break;case5:Console.WriteLine(month.May);break;case6:Console.WriteLine(month.June);break;case7:Console.WriteLine(month.july);break;case8:Console.WriteLine(month.August);break;case9:Console.WriteLine(month.September);break;case10:Console.WriteLine(month.October);break;case11:Console.WriteLine(month.November);break;case12:Console.WriteLine(month.December);break;32、在窗体上建立一个标签,一个文本框,一个命令按钮,标签的text属性设置为“VC#程序设计”,设计一个程序,单击命令按钮,将标签上的信息显示在文本框中。publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){textBox1.Text=label1.Text;}}33、设计一个简单的计算器,在文本框中,显示输入值和计算结果,用命令按钮做为数字键和功能键。publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton13_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton1_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton2_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton3_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton5_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton6_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton7_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton9_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton10_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton11_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text+=btn.Text;}privatevoidbutton15_Click(objectsender,EventArgse){textBox1.Text="";}privatevoidbutton16_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+""+btn.Text+"";}privatevoidbutton14_Click(objectsender,EventArgse){doubled_result;strings_txt=textBox1.Text;intspace=s_txt.IndexOf('');strings1=s_txt.Substring(0,space);charoperation=Convert.ToChar(s_txt.Substring((space+1),1));strings2=s_txt.Substring(space+3);MessageBox.Show(s_txt);doublearg1=Convert.ToDouble(s1);doublearg2=Convert.ToDouble(s2);switch(operation){case'+':d_result=arg1+arg2;break;case'-':d_result=arg1-arg2;break;case'*':d_result=arg1*arg2;break;case'/':if(arg2==0){thrownewApplicationException();}else{d_result=arg1/arg2;}break;default:thrownewApplicationException();}textBox1.Text=d_result.ToString();}privatevoidbutton4_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+""+btn.Text+"";}privatevoidbutton8_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+""+btn.Text+"";}privatevoidbutton12_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+""+btn.Text+"";}}34、在窗体上建立一个列表框,一个文本框和一个命令按钮,在列表框中列有本班10个同学的姓名,当选中某个学生姓名后,单击此命令按钮,则在文本框中显示该学生的籍贯。Usingsystem;UsingsystemCollections.Generic;Usingsystem.Text;publicpartialclassForm1:Form{privateHashtablestudents=newHashtable();privateString[]names;publicForm1(){InitializeComponent();students.Add("王大","河南省");students.Add("王二","福建省");students.Add("王三","广东省");students.Add("王四","河北省");students.Add("王五","青岛省");students.Add("王六","葫芦浩特");names=newstring[students.Keys.Count];students.Keys.CopyTo(names,0);listBox1.Items.AddRange(names);}privatevoidbutton1_Click(objectsender,EventArgse){textBox1.Text=students[name].ToString();}}
for(intj=arr.Length-1;j>=0;j--)
inttmp=arr[0];
arr[0]=arr[1];
arr[1]=tmp;
}
try
for(inti=0;i<=arr.Length;i++)
Console.WriteLine(arr[i]);
catch(Exceptione)
Console.WriteLine(e.ToString());
23、编写一个计算器程序,要求在程序中能够捕获到被0除的异常与算术运算溢出的异常。
publicpartialclassForm1:
Form
publicForm1()
InitializeComponent();
privatevoidbutton1_Click(objectsender,EventArgse)
inta=0,b=0;
a=Convert.ToInt32(this.textBox1.Text);
catch(OverflowException)
MessageBox.Show("a超出范围","出错");
Application.Exit();
b=Convert.ToInt32(this.textBox2.Text);
MessageBox.Show("b超出范围","出错");
intc;
c=a+b;
this.textBox3.Text=c.ToString();
intd;
d=a-b;
this.textBox4.Text=d.ToString();
intg;
g=a*b;
this.textBox5.Text=g.ToString();
doublef;
f=a/b;
this.textBox6.Text=f.ToString();
catch(DivideByZeroException)
MessageBox.Show("除数不能为零","出错");
24、编程输出1~100中能被3整除但不能被5整除的数,并统计有多少个这样的数。
Console.WriteLine("1~100中能被3整除但不能被5整除的数有:
");
inta=0;
for(inti=1;i<101;i++)
if(i%3==0&&i%5!
=0)
Console.Write(i.ToString()+'');
a++;
Console.WriteLine();
Console.WriteLine("这样的数一共有{0}个",a);
Console.ReadLine();
25、编程输出1000以内的所有素数。
Console.WriteLine("1000以内的所有素数:
inti,j;
for(i=1;i<1000;i++)
for(j=2;j<=i/2;j++)
if(i%j==0)
break;
if(j>i/2)
26、编写一个程序,对输入的4个整数,求出其中最大值和最小值。
int[]a=newint[4];
intmax;
for(inti=0;i<4;i++)
Console.WriteLine("请输入第{0}个数:
",i+1);
a[i]=Int32.Parse(Console.ReadLine());
max=a[0];
for(intj=0;j<4;j++)
if(a[j]>max)
max=a[j];
Console.WriteLine("其中最大值为:
{0}",max);
Console.Read();
27、分别用for,while,do…while语句编写程序,实现求前n个自然数之和。
Console.Write("请输入1个整数:
intn=int.Parse(Console.ReadLine());
Console.WriteLine("使用For语句:
"+SumWithFor(n));
Console.WriteLine("使用While语句:
"+SumWithWhile(n));
Console.WriteLine("使用Do...While语句:
"+SumWithDoWhile(n));
staticintSumWithFor(intn)
intsum=0;
for(inti=1;i<=n;i++)
sum+=i;
returnsum;
staticintSumWithWhile(intn)
intsum=0,i=1;
while(i<=n)
i++;
staticintSumWithDoWhile(intn)
do
while(i<=n);
28、编程输出九九乘法表。
{inti;
intj;
stringa="";
string[,]m=newstring[9,9];
for(i=0;i<9;i++)
{for(j=0;j
intsum=(i+1)*(j+1);
m[i,j]=(i+1)+"*"+(j+1)+"="+sum;
if(i==j)
a=a+m[i,j]+"\r\n\r\n";
else
a=a+m[i,j]+"";
this.textBox1.Text=a;
privatevoidForm1_Load(objectsender,EventArgse)
29、定义一个行数和列数相等的二维数组,并执行初始化,然后计算该数级两条对角线上的元素值之和。
int[,]nums=newint[2,2]{{2,4},{1,3}};
stringstr="";
intn=0;
intm=0;
for(inti=0;i<2;i++)
str+="\n\r";
for(intj=0;j<2;j++)
str+=nums[i,j].ToString()+"\t";
n=nums[0,0]+nums[1,1];
m=nums[0,1]+nums[1,0];
}str+="\n\r";
Console.WriteLine("数组:
{0}正对角线的和为:
{1},负对角线的和为:
{2}",str,n,m);
30、建立一个一维数组,使用该数组列出所学习的课程名称。
ArrayListmyAL=newArrayList();
myAL.Add("XX");
myAL.Add("YY");
myAL.Add("ZZ");
StringstrName="课程名:
";
foreach(stringstinmyAL)
strName+=st+"";
Console.WriteLine(strName);
31、编写程序,将一年中12个月,建立一个枚举类型数据,并对其进行调用。
enummonth{January,February,March,April,May,June,july,August,September,October,November,December};
Console.WriteLine("请输入1-12的月份:
inti=int.Parse(Console.ReadLine());
yuefen(i);
publicstaticvoidyuefen(inti)
switch(i)
case1:
Console.WriteLine(month.January);break;
case2:
Console.WriteLine(month.February);break;
case3:
Console.WriteLine(month.March);break;
case4:
Console.WriteLine(month.April);break;
case5:
Console.WriteLine(month.May);break;
case6:
Console.WriteLine(month.June);break;
case7:
Console.WriteLine(month.july);break;
case8:
Console.WriteLine(month.August);break;
case9:
Console.WriteLine(month.September);break;
case10:
Console.WriteLine(month.October);break;
case11:
Console.WriteLine(month.November);break;
case12:
Console.WriteLine(month.December);break;
32、在窗体上建立一个标签,一个文本框,一个命令按钮,标签的text属性设置为“VC#程序设计”,设计一个程序,单击命令按钮,将标签上的信息显示在文本框中。
textBox1.Text=label1.Text;
33、设计一个简单的计算器,在文本框中,显示输入值和计算结果,用命令按钮做为数字键和功能键。
privatevoidbutton13_Click(objectsender,EventArgse)
Buttonbtn=(Button)sender;
textBox1.Text+=btn.Text;
privatevoidbutton2_Click(objectsender,EventArgse)
privatevoidbutton3_Click(objectsender,EventArgse)
privatevoidbutton5_Click(objectsender,EventArgse)
privatevoidbutton6_Click(objectsender,EventArgse)
privatevoidbutton7_Click(objectsender,EventArgse)
privatevoidbutton9_Click(objectsender,EventArgse)
privatevoidbutton10_Click(objectsender,EventArgse)
privatevoidbutton11_Click(objectsender,EventArgse)
privatevoidbutton15_Click(objectsender,EventArgse)
textBox1.Text="";
privatevoidbutton16_Click(objectsender,EventArgse)
textBox1.Text=textBox1.Text+""+btn.Text+"";
privatevoidbutton14_Click(objectsender,EventArgse)
doubled_result;
strings_txt=textBox1.Text;
intspace=s_txt.IndexOf('');
strings1=s_txt.Substring(0,space);
charoperation=Convert.ToChar(s_txt.Substring((space+1),1));
strings2=s_txt.Substring(space+3);
MessageBox.Show(s_txt);
doublearg1=Convert.ToDouble(s1);
doublearg2=Convert.ToDouble(s2);
switch(operation)
case'+':
d_result=arg1+arg2;
case'-':
d_result=arg1-arg2;
case'*':
d_result=arg1*arg2;
case'/':
if(arg2==0)
{thrownewApplicationException();}
d_result=arg1/arg2;
default:
thrownewApplicationException();
textBox1.Text=d_result.ToString();
privatevoidbutton4_Click(objectsender,EventArgse)
privatevoidbutton8_Click(objectsender,EventArgse)
privatevoidbutton12_Click(objectsender,EventArgse)
34、在窗体上建立一个列表框,一个文本框和一个命令按钮,在列表框中列有本班10个同学的姓名,当选中某个学生姓名后,单击此命令按钮,则在文本框中显示该学生的籍贯。
Usingsystem;
UsingsystemCollections.Generic;
Usingsystem.Text;
privateHashtablestudents=newHashtable();
privateString[]names;
students.Add("王大","河南省");
students.Add("王二","福建省");
students.Add("王三","广东省");
students.Add("王四","河北省");
students.Add("王五","青岛省");
students.Add("王六","葫芦浩特");
names=newstring[students.Keys.Count];
students.Keys.CopyTo(names,0);
listBox1.Items.AddRange(names);
textBox1.Text=students[name].ToString();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1