ぼるじょあがC/C++の宿題を片付けますYO! 39代目
■ このスレッドは過去ログ倉庫に格納されています
0148デフォルトの名無しさん
05/01/26 15:30:22#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLINE 256
struct Link { struct Link *next, *prev; char name[MAXLINE]; };
void printAll(struct Link *top)
{
struct Link *ptr; for (ptr = top->next; ptr != top; ptr = ptr->next) { printf("%s\n", ptr->name); }
}
void printReverse(struct Link *top)
{
struct Link *ptr; for (ptr = top->prev; ptr != top; ptr = ptr->prev) { printf("%s\n", ptr->name); }
}
void addLink(struct Link *top, struct Link *l) {
top->prev->next = l; l->prev = top->prev; top->prev = l; l->next = top;
}
struct Link *linkMalloc(void) { return (struct Link*) malloc(sizeof(struct Link)); }
int main(void)
{
struct Link top, *link; char buff[MAXLINE];
top.next = top.prev = ⊤
while (fgets(buff, MAXLINE, stdin) != NULL) {
buff[strlen(buff) - 1] = '\0'; link = linkMalloc(); strncpy(link->name, buff, MAXLINE); addLink(&top, link);
}
printAll(&top);
printReverse(&top);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています