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