计算机软件技术基础.docx
- 文档编号:24265280
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:11
- 大小:111.76KB
计算机软件技术基础.docx
《计算机软件技术基础.docx》由会员分享,可在线阅读,更多相关《计算机软件技术基础.docx(11页珍藏版)》请在冰豆网上搜索。
计算机软件技术基础
计算机软件技术基础
结课作业
第一题:
顺序查找
#include
intserch(intarry[],intn,intx)
{intk=0;
while((k =x))k=k+1; if(k==n)k=-1; return(k); } voidmain() { intarry[10],i,x,q; printf("请输入十个数: \n"); for(i=0;i<10;i++) scanf("%d",&arry[i]); printf("输出这十个数: \n"); for(i=0;i<10;i++) printf("%d",arry[i]); printf("\n请输入要查找的数: \n"); scanf("%d",&x); q=serch(arry,10,x); printf("x在线性表中的下标: %d\n",q); } 第二题: 对分查找 #include #defineETint intbserch(ETv[],intn,intx) { inti=1,j=n,k; while(i<=j) { k=(i+j)/2; if(v[k-1]==x) return(k-1); if(v[k-1]>x)j=k-1; elsei=k+1; } return(-1); } voidmain() { intarry[10],t,x; printf("请输入一个数组从小到大排列: \n"); for(inti=0;i<10;i++) { scanf("%d",&arry[i]); } printf("你输入的数组为: \n"); for(i=0;i<10;i++) { printf("%5d",arry[i]); } printf("\n"); printf("输入要查找的数: \n"); scanf("%d",&x); printf("\n"); t=bserch(arry,10,x); printf("需要查找的数的下标为: %d\n",t); } 第三题: 冒泡排序 #include #defineETint voidmain() { voidbubsort(inta[],inti); inta[10]; printf("请输入一组数: "); for(inti=0;i<10;i++) { scanf("%d",&a[i]); } printf("排序之前的数组的元素顺序是: \n"); for(i=0;i<10;i++) { printf("%d",a[i]); } printf("\n"); bubsort(a,10); printf("排序之后数组的元素是: \n"); } voidbubsort(ETarry[],intn) { intm,k,j,i; ETd; k=0;m=n-1; while(k { j=m-1; m=0; for(i=k;i<=j;i++) if(arry[i]>arry[i+1]) { d=arry[i]; arry[i]=arry[i+1]; arry[i+1]=d; m=i; } j=k+1; k=0; for(i=m;i>j;i--) if(arry[i-1]>arry[i]) { d=arry[i]; arry[i]=arry[i-1]; arry[i-1]=d; k=i; } } for(i=0;i<10;i++) { printf("%d",arry[i]); } Printf(“\n”) } 第四题: 快速排序 #include #defineETint staticintsplit(ETp[],intm,intn) { inti,j,k,s; ETt; i=m-1; j=n-1; k=(i+j/2); if((p[i]>=p[i])&&(p[i]>=p[k])) s=j; elseif((p[i]>=p[k])&&(p[k]>=p[j])) s=k; elses=i; t=p[s]; p[s]=p[i]; while(i! =j) { while((i j=j-1; if(i { p[i]=p[j]; i=i+1; while((i i=i+1; if(i { p[j]=p[i]; j=j-1; } } } p[i]=t; return(i); } voidqksort1(ETp[],intm,intn) { inti; if(n>m) { i=split(p,m,n)+1; qksort1(p,m,i-1); qksort1(p,i+1,n); } return; } voidmain() { inta[10]; printf("请输入一组数据作为数组的元素: "); for(inti=0;i<10;i++) { scanf("%d",&a[i]); } printf("排序之前的数组的元素顺序是: \n"); for(i=0;i<10;i++) { printf("%d",a[i]); } printf("\n"); qksort1(a,1,10); printf("排序之后数组的元素是: \n"); for(i=0;i<10;i++) { printf("%d",a[i]); } } 第五题: 插序排列 #include voidmain() { voidinsort(intp[],intn); inta[10],i; printf("输入一组整数\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("排序前数组元素为: "); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n"); insort(a,10); printf("排序后数组元素为: "); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n"); } voidinsort(intp[],intn) { intj,k,s; for(j=1;j {s=p[j];k=j-1; while((k>=0)&&(p[k]>s)) {p[k+1]=p[k];k=k-1;} p[k+1]=s; } return; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 技术 基础
