동적할당으로 연결리스트와 평균구하기
보나
질문 제목 : 동적할당으로 연결리스트와 평균구하기질문 내용 :소스는 이렇게되어있는데 평균구하기 함수를 어떻게 작성해야할지 모르겠습니다 ㅠㅠ
#define _crt_secure_no_deprecate
#include stdio.h
#include stdlib.h
#include list.h
int main(void)
{
snode *list = make_list();
out_list(list);
//printf(average = %g\n, get_average(list));
freebsp;free_list(list);
return 0;
}
snode *make_list(void) {
snode node, *p, *head = null;
while (1) {
printf(id name gpa );
if (scanf(%d %s %lf, &node.sid, node.name, &node.gpa) != 3)
break;
if (!(p = (snode*)malloc(sizeof *p)))
{ printf(no memory\n); exit(1); }
*p = node;
p-next = head; head = p;
}
return head;
}
void free_list(snode *p) {
snode *q;
for (; p; p = q) { q = p-next; free(p); }
}
void out_list(const snode *p) {
for (; p; p = p-next)
printf(%d %s %g\n, p-sid, p-name, p-gpa);
}
//double get_average(const snode *p)
이것을 함수를 어떻게 작성해야할지 ㅠㅠ
고수님들 도와주세요!
-
티나
소스를 분석하고 말씀드리는것은 아닌데요 ^^...
일반 단방향 링크드리스트라면 헤드노드 부터 커런트의 next 가 NULL 일때 (혹은 테일노드)까지 값을 누적시키고, 노드카운트를 같이 해서 나눠주시면 되겠네욤...
링크드 리스트의 검색과 동일한 방법입니다....