資源描述:
《算法設(shè)計與分析實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、算法設(shè)計與分析實驗報告姓名班級:計算機科學與技術(shù)102班學號:教師:設(shè)計時間:2012.04.23編程工具:C-Free5.0【實驗一】:使用遞歸方法輸出楊輝三角楊輝三角.cpp//使用遞歸方法輸出楊輝三角,每個數(shù)字占用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("請輸入行數(shù)
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("請輸入要排列的數(shù)目(<=100):");scanf("%d",&n);printf("請輸入要排列的數(shù)列:");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("請輸入要排列的數(shù)目(<=100):");scanf("%d",&n);printf("請輸入要排列的數(shù)列:");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;//計數(shù)器inti,j;//矩陣初始化for(i=0;i10、return0;}(一)特殊趣味矩陣的打印趣味矩陣.cpp//使左對角線和右對角線上的元素為0,它們上方的元素為1,左邊的元素為2,下方的元素為3,右邊的元素為4#includeintmain(){inti,j,a[100][10