严蔚敏数据结构复习(C)-1-顺序表的初始化以及赋值

 /*
time:2018/9/20
function:
    顺序表的初始化
    b1赋值给顺序表
summarize:
    1.结构体声明2种
        #1# 
            typedef struct
            {
                char no[20];//图书ISBN
                char name[50];//图书名字
                float price;//图书价格
            }Book;
            调用:Book b1;
        #2#
            struct
            {
                char no[20];//图书ISBN
                char name[50];//图书名字
                float price;//图书价格
            };
            调用:struct Book b1;
    2.exit()在stdlib.h头文件中
    3.%d打印float会出现0
*/

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define MAXSIZE 10000 //图书表可能达到的最大长度
typedef struct
{
	char no[20];//图书ISBN
	char name[50];//图书名字
	float price;//图书价格
}Book;
typedef struct
{
	Book *elem;	//存储空间的基地址
	int length;	//图书表中当前图书个数
}SqList;		//图书表的顺序存储结构类型为SqList

#define OK 0
#define ERROR 1
#define OVERFLOW -2

//顺序表的初始化
int InitList(SqList &L)
{
	//构造一个空的顺序表L
	L.elem = new Book[MAXSIZE];		//为顺序表分配一个大小为MAXSIZE的数组空间
	if(!L.elem) exit(OVERFLOW);			//存储分配失败 退出
	L.length = 0;						//空表长度为0
	return OK;
}

int main()
{
	//顺序表的声明
	SqList L;
	if(InitList(L)!=0) printf("error");
	else
	{
		/*    Book b1 详述    */
		Book b1;
		strcpy(b1.no,"737-7-113-67999-4");
		strcpy(b1.name,"数据结构");
		b1.price = 35.00;
		/*    b1赋值给顺序表,同时改变顺序表的长度    */
		L.elem[0] = b1;
		L.length = 1;
		printf("%d:\nBook.no:%s\nBook.name:%s\nBook.price:%.2f\n",L.length,b1.no,b1.name,b1.price);
	}
	return 0;
}

 

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值