CADCAM实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二叉树的遍历实验
一、实验名称:二叉树的遍历实验。
二、实验目的:
1、掌握CAD/CAM系统中常用的数据结构二叉树的概念、存储结构以及二叉树遍历技术。
2、熟练应用C语言编写二叉树的建立,以及用先序、中序、后序遍历方法遍历二叉树的程序。
三、实验容
用TC或VC编程,将图2-14所示的二叉树建立链表存储结构,并分别用先序、中序、后序遍历方法遍历该二叉树α
1、程序流程图
2、程序
#include
#include
struct btree
{ char data;
struct btree *lchild,*rchild;
}*node[9];
void preorder(struct btree *node) { if(!node) return ;
printf("%c",node->data);
preorder(node->lchild);
preorder(node->rchild);
}
void inorder(struct btree *node) { if(!node) return ;
inorder(node->lchild);
printf("%c",node->data);
inorder(node->rchild);
}
void postorder(struct btree *node) { if(!node) return ;
postorder(node->lchild);
postorder(node->rchild);
printf("%c",node->data);
}
void main()
{
int i;
for(i=0;i<9;i++)
{
node[i]=(struct btree *)malloc(sizeof(struct btree));
node[i]->data='A'+i;
node[i]->lchild=NULL;
node[i]->rchild=NULL;
}
node[0]->lchild=node[1];
node[0]->rchild=node[2];
node[1]->lchild=node[3];
node[2]->lchild=node[4];
node[2]->rchild=node[5];
node[3]->lchild=node[6];
node[3]->rchild=node[7];
node[4]->rchild=node[8];
printf("按先序遍历:");
preorder(node[0]);
printf("\n按中序遍历:");
inorder(node[0]);
printf("\n按后序遍历:");
postorder(node[0]);
getchar();
return 0;
}
实验结果如下:
三、主要仪器设备
计算机(C++语言环境)
实验二数表的程序化处理
一、实验名称:数表的程序化处理
二、实验目的
1、掌握对工程手册和设计规中的各种数据表格(包括数值、数表、线
图)的计算机处理技术。
2、熟练应用C语言或VC金星编程数据处理程序。
三、实验容
用TC或VC编写一个线性插值程序,以下表为基本节点参数,插值计
。
算90°-160°围任意角度的包角修正系数K
α
1、程序流程图
2、程序
#include
#include
#include
void main()
{
int i,j;
int a[8]={90,100,110,120,130,140,150,160};
double
k[8]={0.68,0.74,0.79,0.83,0.86,0.89,0.92,0.95};
double m;
for(;;)
{
do
{ printf("请输入包角值:(包角围为90°至160°)\n");
scanf("%d",&j);
if(j<90||j>160)
{
printf("包角输入错误,请重新输入。\n");
printf("按回车键继续查询,按Ctrl+C键退出\n"); getchar();
getchar();
system("cls");
}
}while(j<90||j>160);
for(i=0;i<8;i++)
{
if(j==a[i])
m=k[i];