c·c++/c 프로그래밍

중복수 체크하기

바로이순간 2012. 5. 30. 17:12

20개의 정수를 입력받아 그들 중 같은 값이 두 번이상 나오는 수를 출력하는 

프로그램을 작성하세요.


#include <stdio.h>

int main() {

    int data[20]; // 정수

    int  i, j, x;


    printf("20개의 정수입력: ");

    for(i = 0; i <20; ++i){

        scanf("%d", &data[i]);

    }


    printf("중복된 수는 다음과 같습니다.\n");

    

    for(i=0;i<20;++i) {

        x=0;

        // i번째 보다 앞에서 중복되는 수가 나오면 이미 앞부분에서 출력했기 때문에

        // 더 이상 진행하지 않고 for문의 앞으로 간다.

        for(j=0;j<i;j++) if(data[j]==data[i]) x=x+1;

        if(x>0) continue;

        for(j=i+1;j<20;j++) if(data[j]==data[i]) x=x+1;

        // 자신을 제외하고 자신과 같은 수가 나오면 중복인 수이다.

        if(x>0) printf("%d ", data[i]);

    }

   

    return 0;

}

'c·c++ > c 프로그래밍' 카테고리의 다른 글

영어 문자열 비교하기  (0) 2012.06.01
한글 한글자씩 잘라내기  (0) 2012.05.31
단어의 갯수 세기  (0) 2012.05.30
배너 옮기기  (0) 2012.05.30
테일러 급수를 사용해서 파이 의 근사치를 구하기.  (0) 2012.05.29