实现代码:
#include#include #include #define MAX_WIN 20 #define MAX_STAY 100 typedefstructcustomer *link; structcustomer { intstay; link next; }; link GUY(intstay, link next) { link c =malloc(sizeof*c); c->stay = stay; c->next = next; returnc; } link win[MAX_WIN]; voidmorning() { inti; for(i = 0; i < MAX_WIN; i++) { win[i] = NULL; } } voidcome(intw,intstay) { if(win[w] == NULL) { win[w] = GUY(stay, NULL); win[w]->next = win[w]; } else win[w] = win[w]->next = GUY(stay, win[w]->next); } voidleave(intw) { if(win[w]->next == win[w]) { free(win[w]); win[w] = NULL; } else { link t = win[w]->next; win[w]->next = t->next; free(t); } } voidguys() { inti; link t; system("clear"); for(i = 0; i < MAX_WIN; i++,puts(" ")) { printf("WIN%3d:_", i); if((t = win[i]) == NULL) continue; for(; t->next != win[i]; t = t->next) { printf("%4d", t->next->stay); } } Sleep(1); } voidlater() { inti; for(guys(), i = 0; i < MAX_WIN; i++) { if(win[i] == NULL) continue; if(win[i]->next->stay > 0) (win[i]->next->stay)--; else leave(i); } } intmain() { srand(time(NULL)); for(morning; ;later()) { come(rand()%MAX_WIN,rand()%MAX_STAY+1); } return0; }
由于这里是生成的随机数,所以程序会一直在变化。按住ctrl +c 终止程序
迷你世界越南服 安卓版v1.7.15
迷你世界越南服是一款精美的3D沙盒游戏,拥有极高的创作自由度
糖饼外传内置菜单 安卓版v1.0.87
糖饼外传内置菜单是一款非常好玩的模拟经营类手游,玩家在游戏中
我的世界化学交换空岛整合包 最新版v1.0
我的世界化学交换空岛整合包是一款像素风格的沙盒生存游戏,游戏
创造厨房免广告版 v1.0.10
创造厨房无广告版是一款像素风模拟经营类手游,玩家们将在这里化
SimCity BuildIt无限金币版 安卓修改版v1.60.1.133743
SimCity BuildIt无限金币版是经过破解的版本,在