너의 프로그램은 일련의 정수를 읽을 것이다. 정수의 수량을 미리 모르고, 일단 -1을 읽으면 입력이 끝난다는 것을 의미한다.그리고 입력과 반대되는 순서에 따라 읽은 숫자를 출력하고 마지막 표지가 끝난 -1을 포함하지 않는다.
1283 단어 C 언어 프로그래밍
#include
#include
/* */
typedef struct _data{
int value;
struct _data *next;//
struct _data *back;//
} Data;
typedef struct _list{
Data *head;//
Data *tail;//
} List;
void creat_link(List *pList, int x,int cnt);
void reverse_link(List *pList);
int main(){
List list;
list.head = list.tail = NULL;
int x;
int cnt = 0;
while(x != -1){
scanf("%d", &x);
creat_link(&list, x, cnt);
cnt++;
}
reverse_link(&list);
Data *p;
Data *q;
for (p = list.head; p;p=p->next){
free(p->back);
}
return 0;
}
/* */
void creat_link(List *pList, int x,int cnt){
if ( x != -1){
if (cnt == 0){//
Data *p = (Data *)malloc(sizeof(Data));
p->value = x;
p->next = NULL;
p->back = NULL;
pList->head = p;
pList->tail = pList->head;
}
if (cnt != 0){//
Data *p = (Data *)malloc(sizeof(Data));
p->value = x;
p->next = NULL;
p->back = pList->tail;
pList->tail->next = p;
pList->tail = p;
}
}
}
void reverse_link(List *pList){//
Data *p;
for (p = pList->tail; p;p=p->back){
printf("%d ", p->value);
}
}