當前位置:編程學習大全網 - 編程語言 - 編程錯誤檢查

編程錯誤檢查

程序算法有問題,會出現死循環(用f10壹步壹步來就知道了)。妳自己檢查壹下。

這種問題用鏈表做起來很簡單。下面我用雙向循環鏈表來實現它。可以參考壹下。

#包含“stdio.h”

#包含" stdlib.h "

#包含“malloc.h”

#定義NULL 0

結構列表

{

int數據;

char name[15];

結構列表* next

結構列表* prior

}列表;

結構列表* InitList(int n)

{//建立壹個雙向循環鏈表,以head為頭節點,數據從1開始到N,返回頭指針。

結構列表*head,*p,* q;

int I;

head =(struct List *)malloc(sizeof(struct List));

head->;數據= 1;

Printf("請輸入第1個孩子的名字:");

scanf("%s ",head-& gt;姓名);

head->;下壹個=頭;

head->;先驗=頭;

p =頭部;

for(I = 2;我& lt= n;i++)

{

q=(結構列表*)malloc(sizeof(結構列表));

q->;數據= I;

Printf("請輸入%d孩子的名字:",I);

scanf("%s ",q-& gt;姓名);

p->;next = q;

q->;先驗= p;

q->;下壹個=頭;

head->;先驗= q;

p = p-& gt;接下來;

}

回程頭;

}

void GetList(struct List *head,int w,int s)

{

結構列表*p,* q;

p =頭部;

int I;

for(I = 1;我& ltw;i++,p = p-& gt;下壹個);

for(;p->;下壹個!= p;i++,p = p-& gt;下壹個)

if((i-w+1)%s==0)

{

q = p->;先驗;

p->;下壹個-& gt;prior=p->先驗;

p->;先驗->;next = p-& gt;接下來;

printf("%s\n ",p-& gt;姓名);

免費(p);

p = q;

}

printf("%s\n ",p-& gt;姓名);

}

void main()

{

int n,w,s;

結構列表* head

{

系統(“cls”);

Printf("請輸入孩子總數:");

scanf("%d ",& ampn);

如果(n & gt0)head = InitList(n);//可以重復運行,直到n

否則退出(0);

Printf("請輸入最先報告的孩子的位置和間隔:");

scanf("%d,%d ",& ampw & amp;s);

GetList(head,w,s);

系統(“暫停”);

} while(1);

}

  • 上一篇:acs ch600恒溫恒濕箱說明書
  • 下一篇:窗體控件的WEB窗體
  • copyright 2024編程學習大全網