되는대로 살자

[C언어 기출문제&풀이] 최소 위치 출력 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 최소 위치 출력

malu 2010. 11. 14. 15:09
프로그램 명: pmin
제한시간: 1 초

수열이 주어질 때 이 수열에 있는 수 중 최소값의 위치를 모두 출력하는 프로그램을 작성하시오.

입력

입력의 첫 줄은 수열의 개수 n 이다.( 1 <= n <= 100 ) 다음 줄에는 n 개의 수가 주어진다. ( 모든 수는 1000 이하의 음이 아닌 정수) 차례대로 첫번째 , 두번재 , ....

출력

최소값의 위치를 순서대로 출력한다.

입출력 예

입력

4 
5 2 10 2

출력

2 4
소스코드 

#include <stdio.h>
int main()
{
 int i,n,min=1000,result,ar[100],pos[100],poscount;
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
  scanf("%d",&ar[i]);
  if(min>ar[i])
  {
   min=ar[i];
   poscount=0;
   pos[poscount]=i+1;
  }
  else if(min==ar[i])
  {
   poscount++;
   pos[poscount]=i+1;
  }
 }
 for(i=0;i<=poscount;i++)
  printf("%d ",pos[i]);
}