출처 : 반크_역사 속 한류
참고풀이]
//Dev-C++ 5.11로 작업함.
#include <stdio.h>
int main()
{
int N;//입력변수
printf("입력할 정수의 개수(100개 이내로) : ");
scanf("%d",&N);
int inSu[N]; //입력개수까지 수들을 저장할 배열변수
int Count1[N];//입력된 수 중 미중복 수를 구할 배열변수
int Count2[N];//입력된 수 중 미중복 수의 빈도수를 구할 배열변수
int chk1,chk2;//중복여부 체크변수
int cnt;//미중복수의 개수를 세는 변수
int i,j;//반복변수
//입력 수 N까지 정수를 입력한다.
for(i=0;i<N;i++)
{
printf("%d번째 요소를 입력하시오 : ",i);
scanf("%d",&inSu[i]);
}
//입력된 수 중 미중복수를 구한다.
chk1=inSu[0];
Count1[0]=inSu[0];
cnt=1;
for(i=1;i<N;i++)
{
if(chk1!=inSu[i])
{
chk2=1;
for(j=0;j<cnt;j++)
if(inSu[i]==Count1[j])
{
chk2=0;
break;
}
if(chk2)
{
Count1[cnt++]=inSu[i];
chk1=inSu[i];
}
}
}
//미중복수를 오름차순으로 정렬한다.
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(Count1[i]>Count1[j])
{
int tmp=Count1[i];
Count1[i]=Count1[j];
Count1[j]=tmp;
}
//미중복수를 기준으로 입력정수의 빈도수를 구한다.
for(i=0;i<cnt;i++)
{
Count2[i]=0;
for(j=0;j<N;j++)
if(Count1[i]==inSu[j])
Count2[i]++;
}
//결과출력
for(i=0;i<cnt;i++)
printf("%d값은 %d번 등장\n",Count1[i],Count2[i]);
return 0;
}
참고풀이 결과]
대한민국의 아름다운 영토, 독도
'프로그램 > C언어 1000제' 카테고리의 다른 글
C언어 54제] C언어 콘서트 CHAPTER 7 Programming 13 극장 예약 시스템을 작성하여 보자. p293 (0) | 2021.12.08 |
---|---|
C언어 53제] C언어 콘서트 CHAPTER 7 Programming 12 배열위치 삭제 후 뒷요소 앞으로 한칸씩 이동하기 p292 (0) | 2021.12.07 |
C언어 51제] C언어 콘서트 CHAPTER 7 Programming 10 주사위 빈도수 p292 (0) | 2021.12.07 |
C언어 50제] C언어 콘서트 CHAPTER 7 Programming 9 난수발생하여 최대값 찾기 p291 (0) | 2021.12.07 |
C언어 49제] c언어 콘서트 CHAPTER 7 Programming 8 전치행렬 p291 (0) | 2021.12.06 |
댓글