RSS

2007年予選問題02

「視力検査の度数分布を作る(意訳)」.問題にデータ入力の終了条件が書かれてないという序盤とは思えない強敵.結局はCtrl-Z(Windows)で終了させるらしい.視力に対応する配列番号を返す関数を作って,配列に順次格納した.入力トラップがなければ,易しい問題の一つ.
#include <stdio.h>

int check_eye(double x);

int main(void)
{
double l,r;
int i, table[4][2];

for(i = 0; i < 4; i++){
table[i][0] = 0;
table[i][1] = 0;
}

while(scanf("%lf %lf", &l, &r) != EOF){
table[ check_eye(l) ][0]++;
table[ check_eye(r) ][1]++;
}

for(i = 0; i < 4; i++){
printf("%d %d\n", table[i][0], table[i][1]);
}

return 0;
}

int check_eye(double x)
{
if( x >= 1.1 ){
return 0;
}
else if( x >= 0.6 ){
return 1;
}
else if( x >=0.2 ){
return 2;
}
else{
return 3;
}
}

Bookmark and Share

0 コメント: