- 22
- 0
- 约1.85万字
- 约 17页
- 2020-01-25 发布于天津
- 举报
实验一 /*******************线性表的应用*******************/
#includestdio.h
int n,j,k; //声明结构体类型,并确定其成员变量
typedef struct student {
char name[20];
char sex[5];
int age;
long long tel;
long qq;
char email[50];
}person;
person a[100];//输入链表的个人信息
void creat(int n){
if(n100){
printf(超出划定内存); //判断所存个人信息是否超出内存
}
else
int i=0;
for(int i=0;in;i++){
printf(依次输入 姓名 性别 年龄 电话号码 QQ号 Email地址(回车键隔开));
inputname(); //输入姓名
inputtel(); //输入电话
scanf(%d,a[i].age);
scanf(%d,a[i].tel);
scanf(%d,a[i].qq);
inputemail(); //输入email地址
}
}
//输入第i个成员数据
void shuru(int i){
printf(依次输入 姓名 性别 年龄 电话号码 QQ号 Email地址(回车键隔开));
inputname(); //输入姓名
inputtel(); //输入电话
scanf(%d,a[i].age);
scanf(%d,a[i].tel);
scanf(%d,a[i].qq);
inputemail(); //输入email地址
}
//创建一个姓名输入方法
void inputname(){
char name[20];
for(int i=0;i20;i++)
scanf(%c,name[i]);
}
//创建电话输入方法
void inputtel(){
char tel[15];
for(int i=0;i15;i++)
scanf(%c,tel[i]);
}
//创建email输入方法
void inputemail(){
char email[50];
for(int i=0;i50;i++)
scanf(%c,email[i]);
}
//插入方法 插入第i个成员
void insert(int k){
if(k0 || k100) printf(插入位置错);
else {
int i;
for(i=n;ik;i--)
a[i+1]=a[i];
shuru(k);
}
}
//删除第k个元素
void dele(int k){
if(k0 || kn) printf(删除位置不存在);
else
for(int k; kn;k++)
a[k]=a[k+1];
}
void main(){
printf(输入您将输入的通讯录人数);
scanf(%d,n);
creat(n);
printf(输入插入的位置);
scanf(%d,k);
insert(k);
printf(输入删除的位置);
scanf(%d,j);
creat(j);
}
实验二/********************求哈夫曼编码********************/
#includestdio.h
#includemalloc.h
#includestdlib.h
using namespace std;
#define n 5
#define m 2*n-1
#define infinity 32727
struct HTNode{
unsigned int weight;
unsigned int plink,rlink,llink;
}*HuffmanTree;
struct codetype{
int start;
char bits[n+1];
};
struct element{
char symbol;
codetype code;
};
struct element table[n+1];
inline void select(struct HTNode ht[2*n],int s,int x1,int x2)
{
int i;
float v1,v2;
原创力文档

文档评论(0)