이번 문제는 문제 1~2와 비슷하다.
오름차순으로 정렬하는 부분만 해결하면 되는데, 이 부분은 이중 for문과 temp문을 적절히 쓰면 해결이 된다.
if(ary[j]>ary[k]){
int temp=ary[j];
ary[j]=ary[k];
ary[k]=temp;
어느 언어든지 기초 단계를 밟아봤다면 위와 같은 형식의 코드를 최소한 한 번 이상은 봤을 것 같다.
0을 입력 받을 때까지의 코드는 앞 문제와 비슷한 경향이 있어 바로 손코딩으로 돌입했다.
최종 코드를 보자:
#include <stdio.h>
int main(void)
{
int ary[40]; int i=0; int num; int count=0;
while(1){
scanf("%d", &num);
if (num==0){
for(int j=0;j<count;j++){
for(int k=j+1; k<count; k++){
if(ary[j]>ary[k]){
int temp=ary[j];
ary[j]=ary[k];
ary[k]=temp;
}
}
}
break;
}
else{
ary[i]=num;
i++; count++;
}
}
for(int j=0;j<count;j++){
printf("%d ", ary[j]);
}
return 0;
}