정수는 얼마든지 입력받을 수있고 -1을 입력하는 순간 더 입력안받고 프린트하는건데 오름차순으로 왜안돼?.. 대체왜...
#include
int main()
{
int arr[100], i, j, tmp;
printf("Enter integers(-1 to end)\n");
scanf("%d", &arr[0]);
i = 0;
while (arr[i] != -1) {
for (i = 0; i {
while (arr[i] != -1)
scanf("%d", &arr[i]);
for (j = 0; j {
if (arr[i] > arr[j])
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
for (i = 0; j printf("Sorter list: %d\n", arr[i]);
return 0;
}
}
while 문에서 사용하는 i 변수가 정렬 구문에서 초기화가 되네요. 정렬하는 for 문을 while 문 밖으로 빼보세요.
음.. 그 문제 만이 아니네요. -_-;;; 이거 처음부터 다시 짜야겠습니다. 너무 복잡해요.
걍.. while 문 안에 for 문 안에 또 다시 while 문... 무슨 의도인지는 알겠는데, 이렇게 짜면 안되요.
// 값 입력. -1 이 입력되면 멈춤.i = 0;while(1) { scanf("%d", &arr[i]); if(arr[i] == -1) { break; } i++;}// 정렬 ... 그리고 출력
입력 받는 구문, 정렬하는 구문, 출력하는 구문 따로 작성해서 돌려보세요.
출력은 되요?