簡單有序表 C語言程式設計

2021-08-10 02:32:10 字數 4165 閱讀 9026

一.實驗目的:

1.掌握指標與記憶體位址的關係

2.掌握通過指標動態申請和釋放記憶體的程式設計方法

3.學習和掌握單向鍊錶的基本操作

二、實驗內容和步驟

1.分析並修改下面程式錯誤,使之能夠正常執行。

錯誤**一:

輸入若干學生的資訊(學號、姓名、成績),當輸入學號為 0 時結束,用單向鍊錶組織這些學生資訊後,再按序輸出。

#include

#include

#include

structstud_node

intnum;

char name[20];

int score;

structstud_node *next;

int main()

structstud_node *head,*tail,*p;

intnum,score;

char name[20];

int size = sizeof(structstud_node);

head=tail=null;

printf(「input num,name and score:\n」);

scanf(「%d」,&num);

while(num != 0)

p=malloc(size);

scanf(「%s%d」,name,&score);

p->num=num;

strcpy(p->name,name);

p->score=score;

p->next=null;

tail->next=p;

tail=p;

scanf(「%d」,&num);

for(p=head;p->next != null;p=p->next)

printf(「%d  %s  %d\n」,p->num,p->name,p->score);

return  0;

正確**:

#include

#include

#include

struct stud_node

;

int main()

else

printf("\ninputnum:\n");

scanf("%d",&num);

}

tail->next=null;

p=head->next;

printf("\nthestudents' massage:\n");

while(p!=null)

return  0;

}

2. 編寫程式實現以下功能

簡單有序鍊錶的建立和查詢修改

(1)建立乙個單鏈表 21  3  15  27  11  18,並輸出該鍊錶;

(2)輸入序號n,查詢序號為n的結點,並輸出;

(3)輸入值x,查詢值為x的結點,並輸出;

(4)插入結點: 輸入序號 n和值x。在序號為n的結點後插入x,並輸出該鍊錶;

(5)刪除結點: 輸入序號 n,冊除序號為 n 的結點,並輸出該鍊錶。

**:

#include

#include

#include

#define lis struct list*

#define setup malloc(sizeof(lis))

struct list

;

int i,len=6;

lis p;

lis t;

lis generate()

else

}

tail->next=null;

return(head);

}

void search_n(lis head)

p=p->next;

}

if(!flag)

printf("not find %d number's node.\n",nn);

}

void search_x(lis head0)

p=p->next;

}

if(!flag)

printf("not find %d price of node.\n",xx);

}

lis insert(lis head1)

if(p->next!=null)

else

return(head1);

}

lis delet(lis head2)

t=p;

p=p->next;

}

return(head2);

}

void output(lis head)

}

int main()

C 語言簡單程式設計

1.在螢幕上輸出以下圖案 2.求出0 999之間的所有 水仙花數 並輸出。水仙花數 是指乙個三位數,其各位數字的立方和確好等於該數本身,如 153 1 5 3?則153是乙個 水仙花數 3.求sn a aa aaa aaaa aaaaa的前5項之和,其中a是乙個數字,例如 2 22 222 2222...

C語言實現有序表

include include define list init size 80 define listincreament 10 define error 0 錯誤的時候的定義 define ok 1 正確的定義 define overrlow 2 typedef struct sllist sq...

c語言 簡單的c程式設計

一 程式的基本結構 順序結構 選擇結構 判斷結構 迴圈結構 c語言屬於結構性語言 1 順序結構 乙個實際程式由若干語句組成,一條語句編譯後產生若干條機器指令 乙個函式由宣告部分和執行部分組成,宣告部分的內容不稱為語句,不產生機器操作,只對變數定義 乙個才程式由若干源程式檔案組成,乙個原始檔由若干個函...