C언어 기초: 배열 예제(4)

kevinkim2586·2020년 4월 11일
0

C언어

목록 보기
10/23
post-thumbnail

이번 문제는 문제 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;
}
profile
공개적으로 학습하고자 만든 블로그

0개의 댓글