實驗十一 結構體程式設計(二)
一.實驗目的
1. 掌握鍊錶的基本概念與定義方法;
2. 掌握鍊錶、共用體的程式設計。
二.實驗環境
1. 硬體:pii以上計算機;
2. 軟體:windows、visual c++ 6.0;
3. 其它:一張軟盤或者u盤等可移動的儲存裝置。
三.實驗內容
練習1.編寫乙個程式,功能為輸入10個整數,將它們儲存在乙個動態鍊錶中。再讀入乙個數n,將鍊錶從第n個結點開始重組(即以第n個結點作為頭結點,而將前n-1個結點平移至鍊錶的末尾),並輸出重組後的鍊錶結果。要求:程式包含3個子函式,各函式要求如下:
l 子函式1:功能為建立包括10個結點的鍊錶並讀入資料;
形式為:struct lnode *creat(void);
l 子函式2:功能為平移(重組)鍊錶;
形式為:struct lnode *move(struct lnode *head,int n);
l 子函式3:功能為輸出鍊錶中的所有結點;
形式為:void print(struct lnode *head);
執行結果示例:
練習2.編寫乙個程式,功能為輸入並儲存一組文具的明細單(以』#』作為結束)。文具的型別以(單個大寫)字母標識,並且不同型別的文具其規格也不同。其中:p為鉛筆,規格為鉛芯直徑;g為簽字筆,規格為顏色;r為尺子,規格為尺子的長度(cm)。
l 要求:程式包含1個子函式,其功能要求為輸出指定型別文具的資訊;
形式為:voidcount(sta a,int n,char type);
執行結果示例:
練習3.編寫乙個程式,功能為輸入10個整數,將它們按奇、偶數分別儲存在odd或even兩個鍊錶中,(兩次)呼叫print子函式以分別輸出兩個鍊錶中的資料。
執行結果示例:
*練習4.編寫乙個程式,功能為輸入一組正整數(以-1作為結束標誌),將它們儲存在乙個動態鍊錶中並輸出。然後,將鍊錶中所有偶數值結點刪除,並輸出鍊錶刪除後結果。
要求:程式包含3個子函式,各函式要求如下:
l 子函式1:功能為建立包括n個結點的鍊錶並讀入資料;
形式為:num *creat(void);
l 子函式2:功能為輸出鍊錶中的所有結點;
形式為:void print(num *head);
l 子函式3:功能為刪除鍊錶中的所有偶數值結點;
形式為:num *dele(num*head);
執行結果示例:
⑴正常情況:
⑵特殊情況:
練習1:
#include"stdio.h"
#include"iostream.h"
#include"stdlib.h"
#define len sizeof(struct lnode)
#define null 0
struct lnode
p1=head;
while(i{p2=p1->next;
p1=p2;
i++;
p2=p1->next;
head=p2;
p1->next=null;
return(head);
void print(struct lnode *head)
{struct lnode *p;
printf("\n輸出鍊錶結果:\n");
p=head;
if(head!=0)
do{printf("%d",p->num);
p=p->next;
while(p!=null);
void main()
intn;
struct lnode *head;
printf("輸入10個整數:");
head=creat();
print(head);
printf("\n輸入n值<1-10>:");
scanf("%d",&n);
head=move(head,n);
print(head);
printf("輸出鍊錶結果:");
print(head);
程式設計 結構體對齊
1.cpu不會因為你的pack設定而改變自己的訪問方式,你 裡對齊值是多少,cpu並不不知道 2.cpu在訪問對齊資料和沒有對齊的資料的時候會使用不同的方法,不同的方法效率 cpu可以訪問放在奇數字址的4位元組資料,只是效率上與放在4的倍數字址上的4位元組資料不同。效率是指時間和空間上的 3.對齊的...
結構體 C語言程式設計
一 實驗目的 1 學習掌握結構化資料的程式設計使用 二 實驗內容和步驟 1.分析並修改下面程式錯誤,使之能夠正常執行。錯誤 一 程式實現輸出圖書的名字和單價,錯誤 如下 include struct book float price char name 10 名字 int main void str...
程式設計入門14 結構體
有10個學生,每個學生的資料報括學號 姓名 3門課程的成績。讀入這10個學生的資料,要求輸出3門課程的總平均成績,以及個人平均分最高的學生的資料 包括學號 姓名 3門課程成績 平均分數 共有10行,每行包含了乙個學生的學號 整數 名字 長度不超過19的無空格字串 和3門課程的成績 0至100之間的整...