PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2011/03/23 22:09:17
Name 개미
Subject 씨언어 코드 질문드립니다.
전에 한번 공부했었던건데.. 다시보니 제대로 값이 출력이 안되네요;;

쉽다 생각했는데 아무리 바도 이유를 몰라서 글을 남깁니다.

정수 10개를 입력받아서 최대값, 최소값을 출력하는 프로그램입니다.

최대값은 제대로 출력이 되는데 최소 값이 쓰레기 값이 나오는데.. 이유를 모르겠네요

아래 소스 남깁니다

----------------------------------------------------------------------------------------------------------
#include<stdio.h>

int main(void)
{
        int arr[50];
        int max, min;
        int i;

        for(i=0; i<10; i++)
        {
                printf("정수 입력 ");
                scanf("%d", &arr[i]);
        }
        max=arr[0];

        for(i=1; i<11; i++)
        {
                if(arr[i]>max){ //최대값
                max=arr[i];
                }
        }
        printf("%d \n", max);

        min=arr[0];

        for(i=1; i<11; i++)
        {
                if(min>arr[i]){ //최소값
                min=arr[i];
                }
        }
        printf("%d \n", min);

        return 0;
}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
11/03/23 22:18
수정 아이콘
arr[0] ~ arr[9]에 입력을 받아놓고
arr[1] ~ arr[10]을 가지고 min, max를 구하시니까 그런것 같습니다.
arr[10]에는 쓰레기값이 들어있는데 이 값이 arr[0]보다 크면 대부분 max가 쓰레기가 나올테고
arr[0]보다 작으면 대부분 min이 쓰레기가 나오겠죠.
화이트푸
11/03/23 22:19
수정 아이콘
키워드 : 지역변수, 초기화, 범위
11/03/23 22:29
수정 아이콘
아.. 답변 감사합니다^^ 제가 생각하는 범위를 넘어서 비교를 하고있었네요! 답변주셔셔 감사합니다
1
스타나라
11/03/23 22:33
수정 아이콘
위에서 잘 설명해 주셨으니^^ 저는 문제를 찾는 근본적인 방법에 대해서 기술해 볼께요.

글쓴이께서 코딩중에 문제점에 직면하셨습니다.

바로 "쓰레기 값"이 나온다는 문제점에 말이죠.

그렇다면, 그 "쓰레기 값"이 어디서 왜 나오는지를 찾아 보셔야 합니다.

NdrewK님께서 언급하셨듯 0~9까지 저장했는데 0~10까지 비교를 하니 당연히 10번지에 저장된 쓰레기 값이 MAX 혹은 MIN에서 출력이 되겠지요.

그렇다면 문제점을 찾았으니, 수정 방법을 생각해 봅시다.

1) max와 min이 있는 for문의 범위를 줄인다.
가장 간단하죠^^ 쓰레기값이 입력되는 곳을 아예 없애버리는 방법이니까요. 가장 확실합니다.

2) array의 범위를 줄인다.
어차피 정수를 10개만 입력 받을꺼라면 궂이 배열을 50개나 만드실 필요가 없습니다. string을 입력받는다면 모를까^^
이 경우에 컴파일 도중 오류가 날 수도 있겠으나(for문에서...겠죠^^) 뭐 어쨌든..array의 범위를 바꿈으로서도 해결이 가능 합니다.

3) max와 min을 함수로 정의한다.
원론적인 해결방법은 아니나...효율적인 코드를 꾸미는데 도움이 되는 요소가 아닌가 합니다. 코드가 보기 좋아지는 측면이 있겠지요^^

위에 두분이 잘 해결해 주셔서 뻘플만 남기고 갑니다^^;
11/03/23 22:48
수정 아이콘
스타나라 // 친절하고 자세 한 답변 감사합니다^^
혹시 제가 나중에 또 모르는거 생기면 쪽지좀 드릴께요 ^^;;;;;
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
101508 넷북에서 끽끽 소리가 나요 [2] 김롯데2393 11/03/23 2393
101507 이 RAM이 시세가 있을까요? [5] 2107 11/03/23 2107
101506 능력자 소환(?) 음악 질문입니다. [5] 기습의 샤아1793 11/03/23 1793
101505 하이닉스와 LG 디스플레이 중 어디가 좀 더 괜찮을까요? [8] 아로아3815 11/03/23 3815
101504 자게에 지단영상을 보고 질문드립니다. [14] 엄은영2197 11/03/23 2197
101503 [영어 질문] by? until? [8] 냉면처럼2232 11/03/23 2232
101502 씨언어 코드 질문드립니다. [5] 개미1505 11/03/23 1505
101501 PS3 게임 추천 부탁드려요 [6] The HUSE1883 11/03/23 1883
101500 노트북 사양좀 봐주세요~ [1] 가을의추억1643 11/03/23 1643
101499 표어를 만드는데 여러분들 생각좀 빌려도 되겠는지요. [2] 대박납시다1499 11/03/23 1499
101498 철권6 질문입니다. [18] Schol2228 11/03/23 2228
101495 싸이에 사진 자동으로 올리는법 아시는분? [1] 에휴존슨이무슨죄1514 11/03/23 1514
101494 자동차 깜빡이를 켤때 왜 소리가 나는 거죠? [5] greensocks2759 11/03/23 2759
101493 닭가슴살(캔)은 밥하고 어떻게 먹어야되나요?? [3] renoir2259 11/03/23 2259
101492 자연상수 e의 ...제곱 계산방법 있나요?? [5] 초록추억6622 11/03/23 6622
101491 네비게이션 추천부탁드려요- [1] waver1553 11/03/23 1553
101490 남성 미백 화장품 추천좀 해주세요 [6] 강아지5498 11/03/23 5498
101489 간단한 영작 질문이요. [2] 귀얄1519 11/03/23 1519
101488 수면무호흡 치료 [4] Toby2224 11/03/23 2224
101487 뺑소리 관련 질문 [1] Ex-sports1501 11/03/23 1501
101486 제주도 여행코스 추천 부탁합니다. 대보름1438 11/03/23 1438
101485 보닌이라는 남자화장품 어떤가요? [6] 삭제됨2869 11/03/23 2869
101483 마사지 질문이에요. [3] 유안2163 11/03/23 2163
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로