杨辉三角实验报告.docx
《杨辉三角实验报告.docx》由会员分享,可在线阅读,更多相关《杨辉三角实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
杨辉三角实验报告
实验一
学生姓名:
学号:
11317119
学院:
专业:
计算机科学与技术
题目:
杨辉三角
指导教师
2013年10月14日
目录
1问题描述-0-
2需求分析-0-
3、概要设计-1-
3.1抽象界面设计-1-
3.2总体框图以及功能描述-2-
3.3基本功能实现-2-
4详细设计-2-
4.1数据类型的定义-2-
4.2主要模块的算法描述-3-
5测试分析-5-
6、实现总结-7-
附录(主要源程序清单)-8-
1问题描述
利用VS环境编写一段代码实现一维数组,二维数组以及交错数组输出杨辉三角。
设计要求:
(1)符合课题要求,实现相应功能;
(2)要求界面友好美观,操作方便易行;
(3)注意程序的实用性、安全性,易操作性。
2需求分析
(1)逐行打印出二项展开式(a+b)i的系数,以为杨辉三角就是以这样的数值组成的。
(如下所示)
1
11
121
1331
14641
(2)输入要求:
本程序中,需要用户输入杨辉三角的行数,以创建一个动态的杨辉三角的输出形式,并在文本框中显示出杨辉三角形。
(3)输出要求:
为确保图形的美观输入杨辉三角的级数以12为宜。
3、概要设计
3.1抽象界面设计
利用VS平台,创建一个新项目,设计出杨辉三角运行输出的界面。
(如图所示)
3.2总体框图以及功能描述
3.3基本功能实现
(1)实现一维数组输出杨辉三角
privatevoidbutton1_Click(objectsender,EventArgse)
(2)实现维维数组输出杨辉三角
privatevoidbutton2_Click(objectsender,EventArgse)
(3)实现交错数组输出杨辉三角
privatevoidbutton3_Click(objectsender,EventArgse)
4详细设计
4.1数据类型的定义
(1)一维数组实现杨辉三角的数组定义
int[]a=newint[n];//定义一维数组,存储杨辉三角值
(2)二维数组实现杨辉三角的数组定义
int[,]a=newint[n,n];//定义二维数组
(3)交错数组的数组定义
int[][]a=newint[n][];//定义交错数组,由于杨辉三角的行
//动态,而每一行的数值数不等所以如此定义
4.2主要模块的算法描述
(1)一维数组:
{
listBox1.Items.Add("*****一位数组实现*****");
intn=System.Convert.ToInt32(textBox1.Text);
inti,j,m=2*n;
int[]a=newint[n];
stringL=newstring('',m);
for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}(2)二维数组privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}(3)多维数组privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}5测试分析(1)输入杨辉三角行数后,一维数组运行结果(2)输入杨辉三角行数后,二维数组运行结果(3)输入杨辉三角行数后,交错数组输出效果 (4)输入行数后,不同方法输出的杨辉三角效果6、实现总结平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。附录(主要源程序清单)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){listBox1.Items.Add("*****一位数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j,m=2*n;int[]a=newint[n];stringL=newstring('',m);for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
a[i]=1;//初始化一行中最后一个元素为1
j=i-1;//第3行才开始本循环
while(j>0)
a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,
//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],
//赋值后yh[j]才变成当前行需要的数据。
j--;
}
for(j=0;j<=i;j++)//输出一行中的数据
L=L+System.Convert.ToString(a[j])+"";
listBox1.Items.Add(L);
listBox1.Items.Add("");
L=newstring('',m-=2);
listBox1.Items.Add("************************");
(2)二维数组
listBox1.Items.Add("*****二维数组实现*****");
inti,j;
for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}(3)多维数组privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}5测试分析(1)输入杨辉三角行数后,一维数组运行结果(2)输入杨辉三角行数后,二维数组运行结果(3)输入杨辉三角行数后,交错数组输出效果 (4)输入行数后,不同方法输出的杨辉三角效果6、实现总结平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。附录(主要源程序清单)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){listBox1.Items.Add("*****一位数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j,m=2*n;int[]a=newint[n];stringL=newstring('',m);for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
a[i,i]=1;//每一行最右边赋值为1
a[i,0]=1;//把第1行左边的元素都赋1
for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}(3)多维数组privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}5测试分析(1)输入杨辉三角行数后,一维数组运行结果(2)输入杨辉三角行数后,二维数组运行结果(3)输入杨辉三角行数后,交错数组输出效果 (4)输入行数后,不同方法输出的杨辉三角效果6、实现总结平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。附录(主要源程序清单)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){listBox1.Items.Add("*****一位数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j,m=2*n;int[]a=newint[n];stringL=newstring('',m);for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(j=1;j<=i-1;j++)
a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式
for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}(3)多维数组privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}5测试分析(1)输入杨辉三角行数后,一维数组运行结果(2)输入杨辉三角行数后,二维数组运行结果(3)输入杨辉三角行数后,交错数组输出效果 (4)输入行数后,不同方法输出的杨辉三角效果6、实现总结平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。附录(主要源程序清单)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){listBox1.Items.Add("*****一位数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j,m=2*n;int[]a=newint[n];stringL=newstring('',m);for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
stringst=newstring('',2*n-2*i);
for(j=0;j<=i;j++)
st+=System.Convert.ToString(a[i,j])+"";
listBox1.Items.Add(st);
(3)多维数组
listBox1.Items.Add("*****交错数组实现*****");
inti;
int[][]a=newint[n][];
for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}5测试分析(1)输入杨辉三角行数后,一维数组运行结果(2)输入杨辉三角行数后,二维数组运行结果(3)输入杨辉三角行数后,交错数组输出效果 (4)输入行数后,不同方法输出的杨辉三角效果6、实现总结平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。附录(主要源程序清单)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){listBox1.Items.Add("*****一位数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j,m=2*n;int[]a=newint[n];stringL=newstring('',m);for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
a[i]=newint[i+1];
for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}5测试分析(1)输入杨辉三角行数后,一维数组运行结果(2)输入杨辉三角行数后,二维数组运行结果(3)输入杨辉三角行数后,交错数组输出效果 (4)输入行数后,不同方法输出的杨辉三角效果6、实现总结平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。附录(主要源程序清单)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){listBox1.Items.Add("*****一位数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j,m=2*n;int[]a=newint[n];stringL=newstring('',m);for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
if(j==0||j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}5测试分析(1)输入杨辉三角行数后,一维数组运行结果(2)输入杨辉三角行数后,二维数组运行结果(3)输入杨辉三角行数后,交错数组输出效果 (4)输入行数后,不同方法输出的杨辉三角效果6、实现总结平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。附录(主要源程序清单)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){listBox1.Items.Add("*****一位数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j,m=2*n;int[]a=newint[n];stringL=newstring('',m);for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(intk=0;k<=i;k++)
st+=System.Convert.ToString(a[i][k])+"";
5测试分析
(1)输入杨辉三角行数后,一维数组运行结果
(2)输入杨辉三角行数后,二维数组运行结果
(3)输入杨辉三角行数后,交错数组输出效果
(4)输入行数后,不同方法输出的杨辉三角效果
6、实现总结
平时的实验主要的目的是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
本次试验主要是编写出杨辉三角,这次实验也是第一次的C#实验,真的是感触良多,这次实验过程中可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次实验我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到了很多问题,由于对C#是刚开始学习,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说在数组……通过这次实验之后,一定把以前所学过的知识重新温故。
这次实验终于顺利完成了,在实验中遇到了很多编程问题,最后在老师的辛勤指导和同学们的热心帮助下,终于游逆而解。
附录(主要源程序清单)
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceWindowsFormsApplication1
publicpartialclassForm1:
Form
publicForm1()
InitializeComponent();
for(i=0;i{a[i]=1;//初始化一行中最后一个元素为1j=i-1;//第3行才开始本循环while(j>0){a[j]+=a[j-1];//赋值前yh[j]实际上是前一行的数据,//即[i-1]行的数据,所以此处重新赋值yh[j-1]+yh[j],//赋值后yh[j]才变成当前行需要的数据。j--;}for(j=0;j<=i;j++)//输出一行中的数据{L=L+System.Convert.ToString(a[j])+"";}listBox1.Items.Add(L);listBox1.Items.Add("");L=newstring('',m-=2);}listBox1.Items.Add("************************");}privatevoidbutton2_Click(objectsender,EventArgse){listBox1.Items.Add("*****二维数组实现*****");intn=System.Convert.ToInt32(textBox1.Text);inti,j;int[,]a=newint[n,n];//定义二维数组for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(i=0;i{a[i,i]=1;//每一行最右边赋值为1a[i,0]=1;//把第1行左边的元素都赋1}for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(i=2;ifor(j=1;j<=i-1;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];//杨辉公式for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(i=0;i{stringst=newstring('',2*n-2*i);for(j=0;j<=i;j++)st+=System.Convert.ToString(a[i,j])+"";listBox1.Items.Add(st);listBox1.Items.Add("");}listBox1.Items.Add("************************");}privatevoidbutton3_Click(objectsender,EventArgse){listBox1.Items.Add("*****交错数组实现*****");inti;intn=System.Convert.ToInt32(textBox1.Text);int[][]a=newint[n][];for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(i=0;i{a[i]=newint[i+1];for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(intj=0;j{if(j==0||j==i){a[i][j]=1;}else{a[i][j]=a[i-1][j-1]+a[i-1][j];}}}for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
for(i=0;i{stringst=newstring('',2*n-2*i);for(intk=0;k<=i;k++){st+=System.Convert.ToString(a[i][k])+"";}listBox1.Items.Add(st);}listBox1.Items.Add("************************");}}}
listBox1.Items.Add("************************");}}}
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1