C语言数据结构试验

1. 一本书book包含以下信息:

l ISBN

l title:书名

l author:作者

l publisher:出版社

l price:价格

设计一个结构体表示这本书。

编写一个名为book.c的程序,完成下列任务:

l 将book定义成一个结构体类型

l 使用malloc函数动态开辟适当大小的内存空间来储存一个book变量

l 为这个变量赋值(或者初始化这个变量)

l 将这个变量表示的图书信息打印在屏幕上

下面是一个运行示例:

The book info

ISBN:978-7-302-24603-9

author:秦峰

publisher:清华大学出版社

price:33.0

2. 一个仓库里的货品product包含以下信息

l id:货品编号

l name:货品名称

l quantity:数量

l price:单价

设计一个结构体表示这个货品。

编写一个名为product.c的程序,完成下列任务:

l 编写函数display显示一个product数组中每个货品的所有信息和每个货品总价值(数量*单价),并显示出这个数组所有货品的总价值

l 编写主函数,声明并初始化一个长度为3的product数组,调用display显示货品的信息

下面是一个运行示例:

All Products

id name quantity price total
value

-------------------------------------------------------------

1001 路由器 12 100.0 1200.0

2002 显示器 3 2000.0 6000.0

3003 键盘 20 500.0 10000.0
好像要用什么结构体内容

Status Initlist_Sq(SqList &L) /*初始化顺序表*/
{ L=(SqList *)malloc(sizeof(SqList));
  l->length=0;
}

void Destroylist(SqList &L) /*销毁顺序表*/
{
  free(L);
}

void Clearlist_Sq(SqList &L) /*清空顺序表*/
{ åŒä¸Š}

Status Listempty_Sq(SqList L) /*测试顺序表是否为空*/
{
   return(L->length==0);
}

Status ListInsert_Sq(SqList &L, int i,ElemType e) /*在第i个位置上插入一个元素*/
{ int j;
  if(i<1||i>L->length+1)
  return 0;
  i--;
  for(j=L->length;j>i;j--)
    L->elem[j]=l->elem[j-1];
  L->elem[i]=e;
  L->length++;
  return 1;
}

int LocateElem_Sq(SqList L,ElemType e) /*返回元素e在顺序表中的位置*/
{ int i=0;
  while(i<L->length&&L->elem[i]!e) i++;
  if(i>=L-length)
     return 0;
  else 
     return i+1;
}

Status ListDelete_Sq(SqList &L, int i, int &e) /*删除第i个位置上的元素*/
{ int j;
  if(i<1||i>L->length)
     return 0;
  i--;
  e=L->elem[i];
  for(j=i;j<L->length-1;j++)
     L->elem[j]=L->elem[j+1];
  L->length--;
  return 1;
}追问

牛头不对马嘴

温馨提示:答案为网友推荐,仅供参考
相似回答