计算机软件基础上机实验报告_第1页
计算机软件基础上机实验报告_第2页
计算机软件基础上机实验报告_第3页
计算机软件基础上机实验报告_第4页
计算机软件基础上机实验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机软件技术基础实验报告(一)班级通信1001姓名吴焱锋学号2010001263实验时间2010-10-14成绩_______实验名称:线性表的插入与删除实验程序:#include<stdio.h>#include<stdlib.h>#definemaxsize100voidcreat_sqlist(intlist[],int*p_n)//定义创建线性表函数{inti;printf("请输入list表的长度:\n");scanf("%d",p_n);printf("请输入%d个数据:\n",*p_n);for(i=0;i<*p_n;i++)scanf("%d",&list[i]);}voidprint_sqlist(intlist[],intn) //定义输出线性表函数{inti;printf("表内的数据为:");for(i=0;i<n;i++)printf("%d",list[i]);printf("\n");}intsq_insert(intlist[],int*p_n,inti,intx)//定义插入函数{intj;if(i<0||i>*p_n)return(1);if(*p_n==maxsize)return(2);for(j=*p_n;j>i;j--)list[j]=list[j-1];list[i]=x;(*p_n)++;return0;}intsq_delete(intlist[],int*p_n,inti)//定义删除函数{intj;if(i<0||i>=*p_n) return(1);for(j=i+1;j<*p_n;j++) list[j-1]=list[j];(*p_n)--;return0;}intmain(void){intlist[maxsize],n=0,i,x;creat_sqlist(list,&n);//调用创建线性表函数print_sqlist(list,n); //调用输出线性表函数printf("请输入插入数据的位置以及待插入的数据:\n");scanf("%d%d",&i,&x);sq_insert(list,&n,i,x); //调用插入函数print_sqlist(list,n);printf("请输入删除数据的位置:\n");scanf("%d",&i);sq_delete(list,&n,i); //调用删除函数print_sqlist(list,n);return0;}实验结果:请输入list表的长度:10请输入10个数据:12345678910表内的数据为:12345678910请输入插入数据的位置以及待插入的数据:599表内的数据为:1234599678910请输入删除数据的位置:6表内的数据为:123459978910Pressanykeytocontinue计算机软件技术基础实验报告(二)班级通信1001姓名吴焱锋学号2010001263实验时间2010-10-14成绩_______实验名称:入栈和出栈实验程序:#include<stdio.h>intmain(){ ints[15]={12,2,9,3,15,5,11,4,7},x=88,i,b=9,y; int*top=&b; printf("栈内元素为:\n");//输出栈内元素 for(i=0;i<*top;i++) printf("%d\t",s[i]); printf("\n"); if(*top==15)//栈空间已满,上溢错误 { printf("stack-overflow\n"); return; } *top=*top+1;//栈顶指针进一 s[*top-1]=x;//将新元素x插入到栈顶指针位置 printf("栈内元素为:\n");//输出栈内元素 for(i=0;i<*top;i++) printf("%d\t",s[i]); printf("\n"); y=s[*top-1]; *top=*top-1; printf("栈内元素为:\n");//输出栈内元素 for(i=0;i<*top;i++) printf("%d\t",s[i]); printf("\n"); printf("退出的元素为:%d\n",y); return;}实验结果:栈内元素为:122931551147栈内元素为:12293155114788栈内元素为:122931551147退出的元素为:88Pressanykeytocontinue计算机软件技术基础实验报告(三)班级通信1001姓名吴焱锋学号2010001263实验时间2010-10-21成绩_______实验名称:下三角矩阵的压缩存储实验程序:#include<stdio.h>intmain(){ inta[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; inti,j; for(i=1;i<=5;i++) for(j=1;j<=5;j++) { if(i>=j) printf("%d\t",a[i*(i-1)/2+j-1]);//一维数组中第i*(i-1)/2+j-1个数输出为矩阵中的元素a(ij) else printf("%d\t",0); if(j==5) printf("\n"); }return0;}实验结果:1000023000456007891001112131415Pressanykeytocontinue计算机软件技术基础实验报告(四)班级通信1001姓名吴焱锋学号2010001263实验时间2010-10-21成绩_______实验名称:对分搜索实验程序:#include<stdlib.h>#include<stdio.h>intbserch(int*v,intn,intx){ inti,j,k; i=1;j=n; while(i<=j) { k=(i+j)/2; if(v[k-1]==x) return(k); if(v[k-1]>x)j=k-1; elsei=k+1; } return(-1);}intmain(){ inta[11]={1,2,3,4,5,6,7,8,9,10,11}; intp; p=bserch(a,11,6); printf("%d\n",p);}实验结果:6Pressanykeytocontinue计算机软件技术基础实验报告(五)班级通信1001姓名吴焱锋学号2010001263实验时间2010-10-28成绩_______实验名称:冒泡法排序实验程序:#include<stdio.h>voidPX(intp[],intn){ intm,k,j,i; intd; k=0;m=n-1; while(k<m) { j=m-1;m=0; for(i=k;i<=j;i++) if(p[i]>p[i+1]) {d=p[i];p[i]=p[i+1];p[i+1]=d;m=i;} j=k+1;k+0; for(i=m;i>=j;i--) if(p[i-1]>p[i]) {d=p[i];p[i]=p[i-1];p[i-1]=d;;k=i;} }}intmain(){ intp[20]; inti; printf("请输入20个整数(空格隔开)\n"); for(i=0;i<20;i++) { scanf("%d",&p[i]); }printf("您输入的整数为:\n"); for(i=0;i<20;i++) printf("%d",p[i]); printf("\n");PX(p,20);printf("冒泡法排序后为:\

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论