1.定義乙個包含學生資訊(學號,姓名,成績)的順序表和煉表,使其具有如下功能:
(1) 根據指定學生個數,逐個輸入學生資訊;
(2) 逐個顯示學生表中所有學生的相關資訊;
(3) 根據姓名進行查詢,返回此學生的學號和成績;
(4) 根據指定的位置可返回相應的學生資訊(學號,姓名,成績);
(5) 給定乙個學生資訊,插入到表中指定的位置;
(6) 刪除指定位置的學生記錄;
(7) 統計表中學生個數。
2.一元多項式的運算
採用單鏈表儲存一元多項式,實現如下功能
(1)從鍵盤輸入一元多項式的各項係數和指數,建立一元多項式鍊錶;
(2)輸出該一元多項式;
(3)修改多項式(可修改任意一項的系數值或指數值);
(4)任意輸入的兩個多項式相加,求和多項式;
(5)任意輸入的兩個多項式相減,求差多項式。
順序表
#include
#include
#include
typedef
struct
student;
typedef
struct
sqlist;
sqlist create()
return list;
}void
print
(sqlist list)
}void
serachname
(sqlist list)}if
(i==list.length)
printf
("無該學生資訊!\n");
}int
getlength
(sqlist list)
void
getbycindex
(sqlist list)
printf
("%-10s%-10s%-10s\n"
,"學號"
,"姓名"
,"成績");
printf
("%-10s%-10s%-10d\n"
,list.elem[index-1]
.no,list.elem[index-1]
.name,list.elem[index-1]
.price);}
void
del(sqlist* list)
for(i=index;i>length-
1;i++
)printf
("刪除成功!\n");
list-
>length--;}
void
insert
(sqlist* list)
for(i=list-
>length;i>index;i++
)printf
("請輸入要插入同學的學號 姓名 成績:");
scanf
("%s%s%d"
,list-
>elem[index-1]
.no,list-
>elem[index-1]
.name,
&list-
>elem[index-1]
.price)
;printf
("插入成功!\n");
list-
>length++;}
intmain()
單鏈表
#include
#include
#include
typedef
struct
student;
typedef
struct lnodelnode,
*linklist;
lnode create()
else
}return head;
}void
print
(lnode head)
}void
serachname
(lnode head)
p=p-
>next;}if
(!p)
printf
("無該學生資訊!\n");
}int
getlength
(lnode head)
return count;
}void
getbycindex
(lnode head)
p=p-
>next;}if
(index)
}void
del(lnode* head)
else
printf
("刪除成功!");
break;}
q=p;
p=p-
>next;}if
(index)
printf
("無該學生資訊!刪除失敗!\n");
}void
insert
(lnode* head)
else
printf
("插入成功!\n");
break;}
q=p;
p=p-
>next;}if
(index)
printf
("插入失敗!\n");
}int
main()
題目2:
#include
#include
typedef
struct pnodepnode,
*polynomial;
pnode *
createlist()
//建立一元多項式鍊錶
head-
>next =
null
; middle = head;
printf
("請輸入每一項的係數和指數:");
scanf
("%f%d"
,&coef,
&exp)
;while(!
((coef==0)
&&(exp==0)
))//當係數和指數都為0時,多項式結束
s->coef = coef;
s->expn = exp;
s->next = middle-
>next;
middle-
>next = s;
middle = s;
printf
("請繼續輸入:");
scanf
("%f%d"
,&coef,
&exp);}
return head;
}int
print
(pnode *h)
while
(p)printf
("\n\n");
return1;
}pnode *
listadd
(pnode *listya, pnode *listyb)
else
p=p-
>next;
}for
(p=listyb;p;p=p-
>next)}if
(q==
null)}
return head;
}pnode *
listsub
(pnode *listya, pnode *listyb)
else
p=p-
>next;
}for
(p=listyb;p;p=p-
>next)}if
(q==
null)}
return head;
}int
main()
線性表基本操作
線性表基本操作,暑假把大一的 練習一遍。多多指教,謝謝 include include define true 1 define false 0 define ok 1 define error 0 define overflow 1 define list init size 100 typede...
線性表基本操作
線性表的基本操作,靜態分配實現 include include using namespace std define maxsize 50 typedef int elemtpye 靜態分配 typedef structsqlist 動態分配 插入元素,i代表插入的位置,從0開始 bool list...
線性表基本操作
程式名稱 線性表 編譯環境 vc 6.0 作者相關 最後修改 2019.5.10 學習目標 1.如何建立線性表 2.掌握線性表的基本操作 初始化 判斷空表 獲取某位置元素 插入 刪除元素 清空表 合併 輸出 常見錯誤 1.if後有兩條或兩條以上語句時,要加括號 2.return的使用,用在不恰當的地...