计算机上机实验报告.docx

上传人:b****6 文档编号:7708656 上传时间:2023-05-11 格式:DOCX 页数:12 大小:79.11KB
下载 相关 举报
计算机上机实验报告.docx_第1页
第1页 / 共12页
计算机上机实验报告.docx_第2页
第2页 / 共12页
计算机上机实验报告.docx_第3页
第3页 / 共12页
计算机上机实验报告.docx_第4页
第4页 / 共12页
计算机上机实验报告.docx_第5页
第5页 / 共12页
计算机上机实验报告.docx_第6页
第6页 / 共12页
计算机上机实验报告.docx_第7页
第7页 / 共12页
计算机上机实验报告.docx_第8页
第8页 / 共12页
计算机上机实验报告.docx_第9页
第9页 / 共12页
计算机上机实验报告.docx_第10页
第10页 / 共12页
计算机上机实验报告.docx_第11页
第11页 / 共12页
计算机上机实验报告.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机上机实验报告.docx

《计算机上机实验报告.docx》由会员分享,可在线阅读,更多相关《计算机上机实验报告.docx(12页珍藏版)》请在冰点文库上搜索。

计算机上机实验报告.docx

计算机上机实验报告

本科实验报告

 

课程名称:

软件技术基础

实验项目:

线性表的插入和删除

实验地点:

电机馆跨越机房

专业班级:

通信1201学号:

2012001294

学生姓名:

黄元

指导教师:

温景国

 

2013年11月11日

 

实验目的:

知道线性顺序表是怎样插入和删除的,学会在计算机上独立的用代码敲出来,并使之成功运行得出结果。

实验内容:

#include

voidins(int*v,intm,int*n,inti,intb)

{

intk;

if(*n==m)

printf("overflow\n");

if(i>*n)

i=*n+1;

if(i<0)

i=1;

for(k=*n;k>=i;k--)

v[k]=v[k-1];

v[i-1]=b;

*n=*n+1;

return;

}

voiddel(int*v,intm,int*n,inti)

{

intk;

if(*n==0)

printf("underflow\n");

if((i<1)||(i>*n))

printf("Notthiselementinthelist\n");

for(k=i;k<*n;k++)

v[k-1]=v[k];

*n=*n-1;

return;

}

intmain()

{

intn=10;

inta[100]={1,2,3,4,5,6,7,8,9,0};

intb,i,j,k;

printf("请输入要插入的数:

");

scanf("%d",&b);

printf("请输入要插入的位置:

");

scanf("%d",&i);

ins(a,100,&n,i,b);

for(k=0;k

printf("%d",a[k]);

printf("\n");

printf("请输入要删除的数的位置:

");

scanf("%d",&j);

del(a,100,&n,j);

for(k=0;k

printf("%d",a[k]);

printf("\n");

}

 

主要仪器设备:

跨越机房电脑

实验结果与分析:

心得体会:

这个实验需要注意的一点就是线性表的上溢与下溢。

另外,插入的位置在线性表的首部或尾部也应该分析到。

本科实验报告

 

课程名称:

软件技术基础

实验项目:

栈的操作

实验地点:

电机馆跨越机房

专业班级:

通信1201学号:

2012001294

学生姓名:

黄元

指导教师:

温景国

 

2013年11月11日

 

实验目的:

知道在栈的操作中是怎样入栈和退栈的,了解每一个语句在程序中的重要地位。

熟练的在计算机上写出它的代码。

实验内容:

#include

voidpush(int*a,intm,int*top,intx)

{

if(*top==m)

{

printf("overflow\n");

return;

}

*top=*top+1;

a[*top-1]=x;

return;

}

intpop(int*a,intm,int*top)

{

inty;

if(*top==0)

{

printf("underflow\n");

return;

}

y=a[*top-1];

*top=*top-1;

returny;

}

main()

{

intn=9;

inta[10]={1,2,3,4,5,6,7,8,9};

intx,y,i;

printf("请输入要入栈的数:

");

scanf("%d",&x);

push(a,10,&n,x);

for(i=0;i

{

printf("%d",a[i]);

}

printf("\n");

printf("退栈运算:

");

y=pop(a,8,&n);

printf("%d\n",y);

for(i=0;i

{

printf("%d",a[i]);

}

printf("\n");

}

主要仪器设备:

跨越机房电脑

实验结果与分析:

心得体会:

这个实验需要明白的一点是栈的“先进后出”与栈的“后进先出”,然后注意分析上溢与下溢的情况。

本科实验报告

 

课程名称:

软件技术基础

实验项目:

数组的压缩存储

实验地点:

电机馆跨越机房

专业班级:

通信1201学号:

2012001294

学生姓名:

黄元

指导教师:

温景国

 

2013年11月11日

 

实验目的:

了解数组的压缩存储,知道如何用C语言把他写出来,并使之得出正确的结果。

实验内容:

#include

main()

{

inta[10]={1,2,3,4,5,6,7,8,9,10};

inti,j,k=0;

for(i=0;i<=3;i++)

{

for(j=0;j<=3;j++)

{

if(j<=i)

printf("%5d",a[i*(1+i)/2+j]);

else

printf("%5d",k);

}

printf("\n");

}

}

主要仪器设备:

跨越机房电脑

得出结果与分析:

心得体会:

这个程序的关键一步就是i*(1+i)/2+j这个式子的表达,然后理清数据压缩存储的逻辑就行了。

 

本科实验报告

 

课程名称:

软件技术基础

实验项目:

线性表的对分搜索

实验地点:

电机馆跨越机房

专业班级:

通信1201学号:

2012001294

学生姓名:

黄元

指导教师:

温景国

 

2013年11月11日

 

实验目的:

了解对分搜索的优越性,知道怎么操作使其在计算机上成功运行,掌握对分搜索的原理。

实验内容:

4、对分搜索

#include

intsearch(inta[],intn,intx)

{

intfirst,last,middle;

first=1,last=n;

while(first<=last)

{

middle=(first+last)/2;

if(x==a[middle-1])

{

returnmiddle;

}

elseif(x

{

last=middle-1;

}

else

{

first=middle+1;

}

}

return-1;

}

main()

{

inti,x,num;

inta[10]={1,4,6,7,11,15,29,31,45,56};

printf("数组为:

");

for(i=0;i<10;i++)

{

printf("%2d",a[i]);

}

printf("\n请输入要搜索的数:

");

scanf("%d",&x);

num=search(a,10,x);

if(num==-1)

{

printf("¸该数不在数组中\n");

}

else

{

printf("该数为数组的第%2d个数\n",num);

}

}

主要仪器设备:

跨越机房电脑

实验结果与分析:

心得与体会:

在这个实验中,比较容易弄混的就是last=middle-1与first=middle+1这两个加1与减1的问题,直接影响到首元素与尾元素能否被搜索到的问题。

另外还需要理清的就是什么情况下该数不在数组中。

 

本科实验报告

 

课程名称:

软件技术基础

实验项目:

冒泡排序

实验地点:

电机馆跨越机房

专业班级:

通信1201学号:

2012001294

学生姓名:

黄元

指导教师:

温景国

 

2013年11月11日

 

实验目的:

了解冒泡法是怎样将不规则排列的数排成规则排列的数的,掌握它的原理并学会在计算机上敲出她的代码,使之成功运行。

实验内容:

5、冒泡排序

#include

main()

{

inta[10],i,j,t;

printf("将数组由小到大排列");

for(i=0;i<10;i++)

{

printf("请输入第%2d个数:

",i+1);

scanf("%d",&a[i]);

}

printf("原数组排列为:

");

for(i=0;i<10;i++)

{

printf("%d",a[i]);

}

printf("\n");

for(i=0;i<10;i++)

{

for(j=0;j<9-i;j++)

{

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

printf("新数组排列为:

");

for(i=0;i<10;i++)

{

printf("%d",a[i]);

}

printf("\n");

}

主要仪器设备:

跨越机房电脑

实验结果与分析:

心得体会:

这个程序的关键就是理清冒牌排序的逻辑,寻找排序的技巧,其实也就是将最大或最小的最小的数依次往后排,保证前n个数中第n个数是最大的,然后将n逐一递减,直到第2个数大于第一个数为止。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2