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;
}