数据结构实验报告

2019-01-10 12:44

《数据结构》

实 验 指 导 书

湖南工业大学计算机与通信学院

二00九年三月

目 录

实验一 抽象数据类型实现方法……………………………………………2 实验二 线性表的基本操作……………………………………2 实验三 实验四 实验五 实验六 实验七 实验八

附录一:实验报告要求……………………………………………附录二:实验考核办法……………………………………………

栈和队列的基本操作…………………………………3 数组的基本操作(选做)………………………………9 树的基本操作…………………………………………10 图的基本操作…………………………………………13 查找的基本操作………………………………………16 排序的基本操作………………………………………18 32 32

1

实验一 抽象数据类型实现方法

一、 实验目的

1. 了解数据的逻辑结构和数据的存储结构之间的区别与联系; 2. 熟悉抽象数据类型的表示和实现方法; 3. 掌握运用C语言上机调试程序的基本方法。

二、 实验内容及要求

1. 设计一个可进行复数运算的演示程序。

2. 实现以下六种基本运算:1)由输入的实部和虚部生成一个复数;2)两个复数求和;3)两个复数求差;4)两个复数求积;5)从已知复数中分离出实部;6)从已知复数中分离出虚部。运算结果以相应的复数或实数的表示形式显示。

三、 实验步骤

在微型计算机上调试编写的程序,记录运行结果。

四、 参考程序

#include #include typedef struct {

double real; double img; }ComplexNumber;

void CreateComplexNumber(ComplexNumber *c,double a,double b) {

c->real = a; c->img = b; return; }

void AddComplexNumber(ComplexNumber *c,ComplexNumber c1,ComplexNumber c2) {

c->real = c1.real+c2.real; c->img = c1.img+c2.img; return; }

void SubComplexNumber(ComplexNumber *c,ComplexNumber c1,ComplexNumber c2) {

c->real = c1.real-c2.real; c->img = c1.img-c2.img; return; }

2

void MultiComplexNumber(ComplexNumber *c,ComplexNumber c1,ComplexNumber c2) {

c->real = c1.real*c2.real-c1.img*c2.img; c->img = c1.real*c2.img+c1.img*c2.real; return; }

void ConComplexNumber(ComplexNumber *c,ComplexNumber c1) {

c->real = c1.real; c->img = c1.img*(-1); return; }

void DisplayComplexNumber(double c1,double c2) {

if((int)c1 == 0 && (int)c2 == 0) printf(\运算结果为:0\\n\ if((int)c1 == 0 && (int)c2 != 0) printf(\运算结果为:i%g\\n\ if((int)c1 != 0 && (int)c2 == 0) printf(\运算结果为:%g\\n\ if((int)c1 != 0 && (int)c2!=0)

printf(\运算结果为:%g i%g\\n\}

int main() {

int choice;

double a1 ,b1,a2,b2;

ComplexNumber *c1,*c2,*result;

c1 = (ComplexNumber *)malloc(sizeof(ComplexNumber)); c2 = (ComplexNumber *)malloc(sizeof(ComplexNumber)); result = (ComplexNumber *)malloc(sizeof(ComplexNumber)); printf(\生成一个复数(实部与虚部由你输入)\\t\\n\ printf(\求2个复数的和\\t\\n\ printf(\求2个复数的差\\t\\n\ printf(\求2个复数的积\\t\\n\ printf(\求共轭复数\\t\\n\ printf(\退出程序\\t\\n\\n\

printf(\请输入你要让计算机所做运算的代号!\\t\\n\ while(scanf(\ {

if(choice==0)break;

3

switch(choice) {

case 1: goto A;break; case 2: goto B;break; case 3: goto C;break; case 4: goto D;break; }

A:{

printf(\请输入实部和虚部\\n\ scanf(\

CreateComplexNumber( c1,a1,b1);

DisplayComplexNumber(c1->real,c1->img); }

continue; B:{

printf(\请分别输入两个数的实部和虚部\\n\ scanf(\ CreateComplexNumber( c1,a1,b1); CreateComplexNumber( c2,a2,b2); AddComplexNumber(result,*c1,*c2);

DisplayComplexNumber(result->real,result->img); }

continue; C:{

printf(\请分别输入两个数的实部和虚部\\n\ scanf(\ CreateComplexNumber( c1,a1,b1); CreateComplexNumber( c2,a2,b2); SubComplexNumber(result,*c1,*c2);

DisplayComplexNumber(result->real,result->img); }

continue;

D:{

printf(\请分别输入两个数的实部和虚部\\n\ scanf(\ CreateComplexNumber( c1,a1,b1); CreateComplexNumber( c2,a2,b2); MultiComplexNumber(result,*c1,*c2);

DisplayComplexNumber(result->real,result->img); }

continue; E:{

4


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

下一篇:一年级词语搭配专项练习27页

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

马上注册会员

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