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++が混じってるの突っ込んじゃだめ