资源描述:
《算法设计与分析实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、算法设计与分析实验报告姓名班级:计算机科学与技术102班学号:教师:设计时间:2012.04.23编程工具:C-Free5.0【实验一】:使用递归方法输出杨辉三角杨辉三角.cpp//使用递归方法输出杨辉三角,每个数字占用4个空格位#include#includeintcalcit(intx,inty){if(x==y
2、
3、y==0)return1;elsereturncalcit(x-1,y-1)+calcit(x-1,y);}intmain(){inti,j,k,n;printf("请输入行数
4、(最好<=13):");scanf("%d",&n);for(i=0;i0;k--)printf("");for(j=0;j<=i;j++)printf("%4d",calcit(i,j));printf("");}return0;}【实验二】:快速排序(一)快速排序.cpp#include#include#defineSIZE100voidquick_sort(intdata[],intx,inty);intpation(intdata[]
5、,intx,inty);intmain(){inti,n,data[SIZE];printf("请输入要排列的数目(<=100):");scanf("%d",&n);printf("请输入要排列的数列:");for(i=0;i6、[],intx,inty){if(x>=y)return;intq=pation(data,x,y);quick_sort(data,x,q-1);quick_sort(data,q+1,y);}intpation(intdata[],intx,inty){intn=data[x],i=x+1,j=y,temp;while(1){while(data[i]n)--j;if(i>=j)break;temp=data[i];data[i]=data[j];data[j]=temp;}data[
7、x]=data[j];data[j]=n;returnj;}(二)插入排序.cpp#include#include#defineX100#defineY100intmain(){inta[X],r[Y];int*p;inti,j,n;printf("请输入要排列的数目(<=100):");scanf("%d",&n);printf("请输入要排列的数列:");for(i=0;i8、i<=n;i++){r[0]=r[i];j=i-1;while(r[j]>r[0]){r[j+1]=r[j];j--;}r[j+1]=r[0];}printf("排列后的顺序是:");for(i=1;i<=n;i++){p=&r[i];printf("%d",*p);}printf("");return0;}【实验三】:趣味矩阵(一)次上三角的自动打印次上三角的自动打印.cpp#include"stdio.h"#include"stdlib.h"#defineMAX100voidInterestMatrix(intn){i
9、nta[MAX][MAX];intk=1,m=0;//计数器inti,j;//矩阵初始化for(i=0;i10、return0;}(一)特殊趣味矩阵的打印趣味矩阵.cpp//使左对角线和右对角线上的元素为0,它们上方的元素为1,左边的元素为2,下方的元素为3,右边的元素为4#includeintmain(){inti,j,a[100][10