数据结构实验指导答案.docx
- 文档编号:26387558
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:17
- 大小:18.24KB
数据结构实验指导答案.docx
《数据结构实验指导答案.docx》由会员分享,可在线阅读,更多相关《数据结构实验指导答案.docx(17页珍藏版)》请在冰豆网上搜索。
数据结构实验指导答案
数据结构实验指导答案
【篇一:
数据结构实验指导书2014(含答案)】
xt>专业:
__电子商务___班级:
___2013级电商2班_____组序:
_____________
学号:
__12134675_____姓名:
____王苏桐____
中国矿业大学管理学院
2014年12月
上篇程序设计基础
实验一java编程环境
【实验目的】
1.掌握下载javasdk软件包、eclipse软件的安装和使用方法2.掌握设置java程序运行环境的方法3.掌握编写与运行java程序的方法4.了解java语言的概貌【实验内容】
一jdk下载与安装
1.下载jdk
为了建立基于sdk的java运行环境,需要先下载免费sdk软件包。
sdk包含了一整套开发工具,其中包含对编程最有用的是java编译器、applet查看器和java解释器。
下载链接。
2.安装sdk
运行下载的jdk软件包,在安装过程中可以设置安装路径及选择组件,默认的组件选择是全部
安装,安装成功后,其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发java程序使用,demo文件夹中包含开源代码程序实例。
安装成功后,文件和子目录结构如图1所示。
其中bin文件夹中包含编译器(javac.exe)、解
释器(java.exe)、applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发java程序使用,sample文件夹包含开源代码程序实例,src压缩文件中包含类库开源代码。
图1
二.设置环境变量
jdk中的工具都是命令行工具,需要从命令行即ms-dos提示符下运行它们。
很多人可能会不习
惯,但这是sun特意采取的策略,为的是把精力更多投入到java语言本身而不是花在开发工具上。
以windowsxp为例说明设置过程。
右击桌面“我的电脑”图标,选择“属性”菜单
图2
在“高级”选项卡中单击“环境变量”按钮,将出现“环境变量”设置界面
图3
在“系统变量”框中点击“新建”按钮,在出现的“编辑系统变量”对话框中,在“变量名”栏的文本框内输入“javahome”,在变量值栏的文本框内输入jdk安装的主目录。
图4
在“系统变量”框中选择“path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令后添加“;%javahome%\bin”。
图5
在“系统变量”框中,单击“新建”按钮,在出现的“新建系统变量”的对话框中,在“变量名”栏中输入“classpath”,在变量值栏输入“.;%javahome%\lib”。
其中“.”表示当前目录。
图6
设置完成后,单击“开始”-“所有程序”-“附件”-“命令提示符”打开dos窗口,在命令行提示符输入“java”或“javac”回车后,如果出现其用法参数提示信息,则安装正确。
图7
三.编译java程序
java源程序编写后,要使用java编译器(javac.exe)进行编译,将java源程序编译成可执行的程序代码。
java源程序都是扩展名为.java的文件。
编译时,首先读入java源程序,然后进行语法检查,如果出现问题就终止编译。
语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。
(1)打开命令提示符窗口,进入java源程序所在路径。
(2)键入编译器和要编译的源程序文件名:
javachelloworld.java。
按回车键开始编译。
如源程序无错误,则屏幕上无输出。
四.运行java程序
javajava.exe)可将编译后的字节码文件hello.class解释为本地计算机代码。
在命令提示符窗口键入解释器和要解释的字节码文件名javahello。
按回车键即开始执行程序并输出结果。
注意:
字节码文件区分大小写。
图8
五.eclipse的使用
eclipse是由ibm公司于2001年首次推出的一个综合开发环境(integrateddevelopmentenvironment)ide;是一个框架和一组被称为平台核心的服务程序,用于通过插件组件构建开发环境。
核心的任务是让每样东西动起来,并加载所需的外挂程序。
当启动eclipse时,先执行的就是这个组件,再由这个组件加载其它外挂程序。
eclipse附带了一个包括java开发工具(javadevelopmenttools,jdt)的标准插件集,因此如果要使用eclipse来开发java程序,必须安装sdk作为它的插件才能使它正常运作。
双击安装好的eclipse程序图标,得到如下的运行屏幕:
图9
eclipse的几个主要视图窗口:
【篇二:
2015数据结构上机实验指导书答案】
xt>实验一:
1、请编写函数intfun(int*a,int*b),函数的功能是判断两个指针a和b所指存储单元的值的符号是否相同;若相同函数返回1,否则返回0。
这两个存储单元中的值都不为0。
在主函数中输入2个整数、调用函数fun、输出结果。
#includestdio.h
intfun(int*a,int*b)
{
if(*a*(*b)0)return
(1);
elsereturn(0);
}
main()
{
intx,y;
scanf(%d%d,x,y);
if(fun(x,y))printf(yes\n);
elseprintf(no);
}
2、计算1+2+3+?
?
+100,要求用指针进行设计。
即设计函数intfun(int*n)实现求1+2+3+?
?
+*n,在主函数中输入、调用、输出结果。
#includestdio.h
intfun(int*n)
{
inti,sum=0;
for(i=1;i=*n;i++)
sum+=i;
return(sum);
}
main()
{
intx,sum;
scanf(%d,x);
printf(thesumis%d\n,fun(x));
}
3、函数的功能是求数组a中最大数的位置(位序号)。
在主函数中输入10个整数、调用函
数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
intfun(int*a,intn)
{
inti,*max;
max=a;
for(i=1;in;i++)
if(a[i]*max)max=a+i;
return(max-a);
}
main()
{inta[n],maxi;
input(a,n);
maxi=fun(a,n);
printf(\nthemaxpositionis%d\n,maxi);
}?
?
4、请编写函数fun(int*a,intn,int*odd,int*even),函数的功能是分别求出数组a中所有奇数之和和所有偶数之和。
形参n给出数组中数据的个数;利用指针odd和even分别返回奇数之和和偶数之和。
在主函数中输入10个整数、调用函数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
voidfun(int*a,intn,int*odd,int*even)
{
inti,sum1=0,sum2=0;
for(i=0;in;i++)
{
if(a[i]%2==0)sum1+=a[i];
elsesum2+=a[i];
}
*odd=sum1;
*even=sum2;
}
main()
{inta[n],odd,even;
input(a,n);
fun(a,n,odd,even);
printf(theoddis%d\ttheevenis%d\n,odd,even);
}
5、请编写函数intfun(int*a,int*b,intn),函数的功能是把数组a中所有为偶数的数,放在另一个数组中b。
在主函数中输入10个整数、调用函数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
voidoutput(int*a,intn)
{
inti;
printf(\ntheoddis:
\n);
for(i=0;in;i++)
printf(%5d,*(a+i));/*printf(%d,a[i]);*/
}
intfun(int*a,int*b,intn)
{
inti,j=0;
for(i=0;in;i++)
if(a[i]%2==0){b[j]=a[i];j++;}
return(j);
main()
{inta[n],b[n],m;
input(a,n);
m=fun(a,b,n);
output(b,m);
}
6、请编写函数intfun(int*a,,intn),函数的功能是把数组a中最大数和最小数交换。
在主函数中输入10个整数、调用函数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
voidoutput(int*a,intn)
{
inti;
printf(\ntheresultis:
\n);
for(i=0;in;i++)
printf(%5d,*(a+i));/*printf(%d,a[i]);*/
}
voidfun(int*a,intn)
{
inti,*max,*min,temp;
max=min=a;
for(i=1;in;i++)
{
if(a[i]*max)max=a+i;
if(a[i]*min)min=a+i;
}
printf(themaxis%d,thepositionis%d\n,*max,max-a);
printf(theminis%d,thepositionis%d\n,*min,min-a);
if(max!
=min)
{temp=*max;*max=*min;*min=temp;}
}
main()
{inta[n],m;
input(a,n);
fun(a,n);
output(a,n);
}?
?
7、请编写函数intfun(inta[4][4]),函数的功能是把矩阵a转置。
在主函数中输入、调用函数fun、输出结果。
#definen4
#includestdio.h
voidinput(inta[][4],intn)
{
inti,j;
for(i=0;in;i++)
for(j=0;jn;j++)
scanf(%d,a[i][j]);
}
voidoutput(inta[][4],intn)
{
inti,j;
printf(\ntheresultis:
\n);
for(i=0;in;i++)
{printf(\n);
for(j=0;jn;j++)
printf(%4d,*(*(a+i)+j));/*printf(%d,a[i][j]);*/
}
}
voidfun(inta[][4],intn)
{
inti,j,temp;
for(i=0;in;i++)
for(j=0;ji;j++)
{temp=a[i][j];a[i][j]=a[j][i];a[j][i]=temp;}
}
【篇三:
数据结构上机实验答案】
xt>实验一:
1、请编写函数intfun(int*a,int*b),函数的功能是判断两个指针a和b所指存储单元的值的符号是否相同;若相同函数返回1,否则返回0。
这两个存储单元中的值都不为0。
在主函数中输入2个整数、调用函数fun、输出结果。
#includestdio.h
intfun(int*a,int*b)
{
if(*a*(*b)0)return
(1);
elsereturn(0);
}
main()
{
intx,y;
scanf(%d%d,x,y);
if(fun(x,y))printf(yes\n);
elseprintf(no);
}
2、计算1+2+3+?
?
+100,要求用指针进行设计。
即设计函数intfun(int*n)实现求1+2+3+?
?
+*n,在主函数中输入、调用、输出结果。
#includestdio.h
intfun(int*n)
{
inti,sum=0;
for(i=1;i=*n;i++)
sum+=i;
return(sum);
}
main()
{
intx,sum;
scanf(%d,x);
printf(thesumis%d\n,fun(x));
}
3、函数的功能是求数组a中最大数的位置(位序号)。
在主函数中输入10个整数、调用函
数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
intfun(int*a,intn)
{
inti,*max;
max=a;
for(i=1;in;i++)
if(a[i]*max)max=a+i;
return(max-a);
}
main()
{inta[n],maxi;
input(a,n);
maxi=fun(a,n);
printf(\nthemaxpositionis%d\n,maxi);
}?
?
4、请编写函数fun(int*a,intn,int*odd,int*even),函数的功能是分别求出数组a中所有奇数之和和所有偶数之和。
形参n给出数组中数据的个数;利用指针odd和even分别返回奇数之和和偶数之和。
在主函数中输入10个整数、调用函数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
voidfun(int*a,intn,int*odd,int*even)
{
inti,sum1=0,sum2=0;
for(i=0;in;i++)
{
if(a[i]%2==0)sum1+=a[i];
elsesum2+=a[i];
}
*odd=sum1;
*even=sum2;
}
main()
{inta[n],odd,even;
input(a,n);
fun(a,n,odd,even);
printf(theoddis%d\ttheevenis%d\n,odd,even);
}
5、请编写函数intfun(int*a,int*b,intn),函数的功能是把数组a中所有为偶数的数,放在另一个数组中b。
在主函数中输入10个整数、调用函数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
voidoutput(int*a,intn)
{
inti;
printf(\ntheoddis:
\n);
for(i=0;in;i++)
printf(%5d,*(a+i));/*printf(%d,a[i]);*/
}
intfun(int*a,int*b,intn)
{
for(i=0;in;i++)
if(a[i]%2==0){b[j]=a[i];j++;}
return(j);
main()
{inta[n],b[n],m;
input(a,n);
m=fun(a,b,n);
output(b,m);
}
6、请编写函数intfun(int*a,,intn),函数的功能是把数组a中最大数和最小数交换。
在主函数中输入10个整数、调用函数fun、输出结果。
#definen10
#includestdio.h
voidinput(int*a,intn)
{
inti;
for(i=0;in;i++)
scanf(%d,a+i);/*scanf(%d,a[i]);*/
}
voidoutput(int*a,intn)
{
inti;
printf(\ntheresultis:
\n);
for(i=0;in;i++)
printf(%5d,*(a+i));/*printf(%d,a[i]);*/
}
voidfun(int*a,intn)
{
inti,*max,*min,temp;
max=min=a;
for(i=1;in;i++)
{
if(a[i]*max)max=a+i;
if(a[i]*min)min=a+i;
}
printf(themaxis%d,thepositionis%d\n,*max,max-a);
printf(theminis%d,thepositionis%d\n,*min,min-a);
if(max!
=min)
{temp=*max;*max=*min;*min=temp;}
}
main()
{inta[n],m;
input(a,n);
fun(a,n);
output(a,n);
}?
?
7、请编写函数intfun(inta[4][4]),函数的功能是把矩阵a转置。
在主函数中输入、调用函数fun、输出结果。
#definen4
#includestdio.h
voidinput(inta[][4],intn)
{
inti,j;
for(i=0;in;i++)
for(j=0;jn;j++)
scanf(%d,a[i][j]);
}
voidoutput(inta[][4],intn)
{
inti,j;
printf(\ntheresultis:
\n);
for(i=0;in;i++)
{printf(\n);
for(j=0;jn;j++)
printf(%4d,*(*(a+i)+j));/*printf(%d,a[i][j]);*/
}
}
voidfun(inta[][4],intn)
{
inti,j,temp;
for(i=0;in;i++)
for(j=0;ji;j++)
{temp=a[i][j];a[i][j]=a[j][i];a[j][i]=temp;}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 指导 答案