「牛の舌って薄いんですね」

蒼樹うめ『ひだまりスケッチ』第 6 巻「一頭から一枚」より

ふみをチャレンジ[2]

ふみをチャレンジ2日目。せっかくなのでAOJに登録してみました。機械判定してくれるので便利ですね。foooomioが僕なので、見かけたらどうぞ笑ってやって下さい。

答案

C
#include <stdio.h>

int main() {
  int a[10], i, num1, num2, num3;
  num1 = num2 = num3 = 0;
  
  for(i = 0; i < 10; i++) {
    scanf("%d", &a[i]);
    if(num1 <= a[i]) {
      num3 = num2;
      num2 = num1;
      num1 = a[i];
    } else if(num2 <= a[i]) {
      num3 = num2;
      num2 = a[i];
    } else if(num3 <= a[i]) {
      num3 = a[i];
    }
  }
  
  printf("%d\n%d\n%d\n", num1, num2, num3);
  
  return 0;
}

反省

ソートした方が簡単かと思った(Javaで作ったときはそうした)けど、比較関数書かないといけなかったりするそうなので、単純に上位3つだけを求めることにした。なんか他に方法ないかなあ。