kyos1704活動記

適当に考えたことや調べたことを垂れ流すものです。質問等ありましたらtwitter:@kyos1704 に質問してください。

AOJ - 0001 - List of Top 3

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0001


解法1
配列3つ確保して
入ってくるたびに入れ替え

#include <stdio.h>
int main(){
    int h[3]={0,0,0};
    int c,i;
     
    for(i=0;i<10;i++){
        scanf("%d",&c);
        if(c>h[0]){
            h[2]=h[1];
            h[1]=h[0];
            h[0]=c;
        }else if(c>h[1]){
            h[2]=h[1];
            h[1]=c;
        }else if(c>h[2]){
            h[2]=c;
        }
    }
     
    for(i=0;i<3;i++){
        printf("%d\n",h[i]);
    }
}

解法2
全部突っ込んでソート

#include<iostream>
#include<algorithm>
 
using namespace std;
 
 
int main(){
    int a[10];
    for(int i=0;i<10;i++){
        cin>>a[i];
    }
    sort(a,a+10);
 
    cout<<a[9]<<endl<<a[8]<<endl<<a[7]<<endl;
 
}

CとC++が混じってるの突っ込んじゃだめ