본문 바로가기
C언어

[C언어] 사용자로부터 양의 정수들을 입력받아서 연결 리스트(linked list)에 저장하고, 결과를 출력하시오

by 이얏호이야호 2020. 5. 14.

공부하시는대에 도움이 됐으면 좋겠습니다.

답안코드 확인해주세요!

 

더보기
#include <stdio.h>

#include <malloc.h>

typedef int DATA;

typedef struct NODE {

	DATA data;

	struct NODE *link;

}

NODE;

void print_list(NODE *plist);

int get_integer();

int main(void) {

	NODE *plist;

	NODE *curr = NULL, *prev = NULL;

	int i;

	plist = NULL;

	while(1) {

		i = get_integer();

		if(i < 0)

		break;

		curr = (NODE *)malloc(sizeof(NODE));

		curr->data = i;

		curr->link = NULL;

		if(prev == NULL)

		plist = curr; else prev->link = curr;

		prev = curr;

	}

	print_list(plist);

	return 0;

}

void print_list(NODE *plist) {

	NODE *p;

	p = plist;

	while(p) {

		printf("%d->",p->data);

		p = p->link;

	}

	printf("NULL\n");

}

int get_integer() {

	int num;

	printf("양의 정수를 입력하세요(종료 -1): ");

	scanf("%d",&num);

	return num;

}


더 많은 C코드가 보고 싶다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

댓글