#include<stdio.h>
#include<stdlib.h>
int main(void) {
int x, i;
int *a;
scanf("%d", &x);
if (x <= 2 && x >= 1000){
return 0;
}
else{
a = (int*)malloc(sizeof(int)*x);
for (i = 0; i < x; i++){
scanf("%d", &a[i]);
}
}
int max,max2,max3;
max=max2=max3=a[0];
for( i=0;i<x;i++) // n is the no of elements in the array {
if(a[i]>max)
{
max3=max2;
max2=max;
max=a[i];
}
else if (a[i]>max2)
{
max3=max2;
max2=a[i];
}
else if(a[i]>max3)
{
max3=a[i];
}
int count=0;
for(i=0;i<x;i++){
if(max3==a[i])
count++;
}
printf("%d %d %d %d",max,max2,max3,count);
free(a);
return 0;
}
3번째 큰수를 구하는 함수인데
계속 제일 큰수만 출력댐 ㅜㅜ
코드 극혐이네 내가 짜준거나 참고해라
c#이면 a.sort(); a[a.length-3]; ㅋ 제성
걍 네이버에 버블소트 쳐보삼...
중복처리는 알아서 생각해보시고
버블소트는 과목에서 나중에 배우는건데 지금쓰면 교수님한테 호오온 날듯