寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

C言語による魚釣り競争の判定

C言語による魚釣り競争の判定です。
釣り上げた魚の合計得点を計算して、勝敗を判定するプログラムです。

・問題
 浩と健次郎の兄弟は猪苗代湖に魚釣りをしに来ました。
 二人は以下のように点数を決め、釣り上げた魚の合計得点で勝負することにしました。
   イワナは1匹 a 点
   ヤマメは1匹 b 点
   イワナ10匹ごとに c 点追加
   ヤマメ20匹ごとに d点追加
 浩と健次郎が釣り上げた魚の数をもとに、どちらが勝ちか、あるいは引き分けか判定するプログラムを作成せよ。

・入力される値
 入力は以下の形式で与えられる。
   h1 h2
   k1 k2
   a b c d
 1行目には、浩が釣り上げたイワナの数 h1 (0 ≤ h1 ≤ 100) とヤマメの数 h2 (0 ≤ h2 ≤ 100) が与えられる。
 2行目には、健次郎が釣り上げたイワナの数 k1 (0 ≤ k1 ≤ 100) とヤマメの数 k2 (0 ≤ k2 ≤ 100) が与えられる。
 3行目には、イワナ1匹ごとの点数 a(1 ≤ a ≤ 100)、ヤマメ1匹ごとの点数 b (1 ≤ b ≤ 100)、イワナ10匹ごとの追加点数 c (0 ≤ c ≤ 100)、ヤマメ20匹ごとの追加点数 d (0 ≤ d ≤ 100) が与えられる。

・期待する出力
 浩が勝ちなら hiroshi、健次郎が勝ちなら kenjiro 、引き分けなら even と1行に出力する。

僕が作成、提出したコードは、以下のとおりです。

/*
 Problem Set from Volume3 0316 : Fishing Competition
 http://judge.u-aizu.ac.jp/
 C言語による魚釣り競争の判定
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
    int h1,h2,k1,k2,a,b,c,d,H,K;
    scanf("%d %d",&h1,&h2);
    scanf("%d %d",&k1,&k2);
    scanf("%d %d %d %d",&a,&b,&c,&d);
    H=h1*a+(h1/10)*c+h2*b+(h2/20)*d;
    K=k1*a+(k1/10)*c+k2*b+(k2/20)*d;
    if(H>K){
        printf("hiroshi\n");
    }else if(H<K){
        printf("kenjiro\n");
    }else{
        printf("even\n");
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
Problem Set from Volume3 0316 : Fishing Competition