实验一C

2019-05-24 14:45

算法与数据结构 实验报告

专 业:电子信息科学与技术 班 级:2007050202 姓 名: 王力轩 学 号:200605020240

实验一 C++语言编程

一、实验目的:

复习、巩固C++语言上机操作的基本技能和方法,熟悉:框图(或流程图)――代码――调试――修改――运行这一基本上机过程。 二、实验要求:

1. 认真阅读和掌握本实验的程序。 2. 上机运行程序。

3. 保存和打印出程序的运行结果,并结合程序进行分析。 4. 按照操作需要,打印出文件清单和运行结果。 三、实验内容:

编写一个程序实现下列目标:

1. 从键盘输入集合A、B,长度随机,以-9999表示输入结束,集合A、B的并集和交集,从

大到小输出,不能有同样的。 //Filename:exp1-1.cpp //date:04-12

#include

void intersection(int a[],int b[],int m,int n) //求交集 {

for(int i=0;i

for(int j=0;j

cout<

void Union(int a[],int b[],int m,int n) //求并集 {

int i=0,j=0; while(i

if(a[i]==b[j]) {

cout<

else if(a[i]>b[j]) {

cout<

cout<

int main() {

int a[100]={0},b[100]={0},m,n,i,j;

cout<<\请输入第一个数组中一共有多少元素:\ cin>>m;

cout<<\请输入第一个数组中的元素:\ for(i=0;i

cin>>a[i];

if(a[i]==-9999) break; }

cout<<\请输入第二个数组中一共有多少元素:\

2

cin>>n;

cout<<\请输入第二个数组中的元素:\ for(j=0;j

cin>>b[j];

if(b[j]==-9999) break; }

for(i=0;i

for(j=i+1;j

if(a[i]

int temp; temp=a[i]; a[i]=a[j]; a[j]=temp; } } }

for(i=0;i

for(j=i+1;j

if(b[i]

int temp; temp=b[i]; b[i]=b[j]; b[j]=temp; } } }

cout<<\交集:\

intersection(a,b,m,n); cout<

2. 分别输入圆柱体的半径和高,求其体积;输入球半径,求其表面积;输入长方体的长、宽、高,求其体积。 //Filename:exp1-2.cpp //Creator:杨成龙 //date:04-12

#include int main() { const double pi=3.1415926; double r1,h,v1,r2,area,length,wide,height,v2; cout<<\请输入圆柱体的高和半径:\ cin>>h; cin>>r1; v1=pi*r1*r1*h; cout<<\圆柱体的体积:\ cout<<\请输入球的半径:\ cin>>r2; area=4*pi*r2*r2;

3

}

cout<<\球的表面积:\cout<<\请输入长方体的长、宽、高:\cin>>length; cin>>wide; cin>>height;

v2=length*wide*height;

cout<<\长方体的体积:\return 0;

实验二 线性表的应用

一、实验目的:

掌握线性表的基本结构和操作方法,培养学生灵活使用结构解决实际问题的能力。 二、实验要求:

1. 认真阅读和掌握本实验的程序。 2. 上机运行程序。

3. 保存和打印出程序的运行结果,并结合程序进行分析。 4. 按照操作需要,打印出文件清单和运行结果。 三、实验内容:

1. 运行下述程序。说明它所实现的功能。

程序如下:

//Filename:exp2-1.cpp //date:04-19 #include #include /*顺序表的定义:*/ #define ListSize 100 typedef struct

{ int data[ListSize]; /*向量data用于存放表结点*/ int length; /*当前的表长度*/ }SeqList; void main()

{ void CreateList(SeqList *L,int n); void PrintList(SeqList *L,int n); int LocateList(SeqList *L,int x); void InsertList(SeqList *L,int x,int i); void DeleteList(SeqList *L,int i); SeqList L; int i,x; int n=10; /*THE LENGTH OF LIST*/ L.length=0; CreateList(&L,n); /*CREAT THE LIST*/ PrintList(&L,n); /*PRINT THE LIST*/ printf(\ scanf(\ i=LocateList(&L,x); printf(\ /*顺序表查找*/ printf(\ scanf(\ printf(\ scanf(\ InsertList(&L,x,i); /*顺序表插入*/ PrintList(&L, L.length); /*打印顺序表*/ printf(\ scanf(\ DeleteList(&L,i); /*顺序表删除*/ PrintList(&L,n); getchar();/*打印顺序表*/

4

}

/*顺序表的建立:*/

void CreateList(SeqList *L,int n) {int i;

printf(\for(i=1;i<=n;i++)

{scanf(\}

L->length=n; }

/*顺序表的打印:*/

void PrintList(SeqList *L,int n) {int i;

printf(\for(i=1;i<=n;i++)

printf(\}

/*顺序表的查找:*/

int LocateList(SeqList *L,int x) {int i;

for(i=1;i<=10;i++) if((L->data[i])==x) {return(i); break;} return(0); }

/*顺序表的插入:*/

void InsertList(SeqList *L,int x,int i) {int j;

for(j=L->length;j>=i;j--) L->data[j+1]=L->data[j]; L->data[i]=x; L->length++; }

/*顺序表的删除:*/

void DeleteList(SeqList *L,int i) { int j;

for(j=i;j<=(L->length)-1;j++) L->data[j]=L->data[j+1]; }

2. 设计一个100位以内的长整数加减运算的程序。 //Filename:exp2-2.cpp //date:04-19

#include #include int getlength(char *ch) {

int i;

for(i=0;i<100;i++) if(ch[i]=='\\0')break; return i; }

void plusdata(int *dt,int *pdt,int k,int kk) {

int i;

5


实验一C.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:vmware vsphere 6.7虚拟化配置手册

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: