C言語によるチケットの売上金額の出力です。
チケットの種類と枚数から、行ごとに売上金額を出力するプログラムです。
・問題
今日は、アイヅ・エンターテインメント社イチオシのアイドルグループ「アカベコ&コボウシ」のチケット発売日です。
チケットには以下の4種類があります。
S席 6000円
A席 4000円
B席 3000円
C席 2000円
販売責任者のあなたは、ドキドキしながら発売開始を待っています。いよいよ発売開始。売れ行き絶好調です!
発売開始からしばらく経ったところで、それまでの注文をまとめた表を受け取りました。
表の各行には、それまでに売れたチケットの種類と枚数が書いてあります。
ただし、チケットの種類がS,A,B,Cの順に現れるとは限りません。
この表の行ごとの売上金額を求めるプログラムを作成してください。
・入力される値
入力は以下の形式で与えられる。
t1 n1
t2 n2
t3 n3
t4 n4
入力は4行からなる。
i行目には、チケットの種類を表す整数 ti (1 ≤ ti ≤ 4)と枚数を表す整数 ni (0 ≤ ni ≤ 10000)が与えられる。
チケットの種類を表す整数1, 2, 3, 4は、それぞれS席、A席、B席、C席を表す。
t1, t2, t3, t4 の値として1から4までの数は必ず1度だけ現れるが、1, 2, 3, 4の順で与えられるとは限らない。
・期待する出力
行ごとに売上金額を出力する。
僕が作成、提出したコードは、以下のとおりです。
/* Problem Set from Volume2 0277 : Ticket Sales http://judge.u-aizu.ac.jp/ C言語によるチケットの売上金額の出力 https://neguse-atama.hatenablog.com */ #include<stdio.h> int main(void){ int t1,t2,t3,t4; int n1,n2,n3,n4; scanf("%d %d",&t1,&n1); scanf("%d %d",&t2,&n2); scanf("%d %d",&t3,&n3); scanf("%d %d",&t4,&n4); if(t1==1){ printf("%d\n",6000*n1); }else if(t1==2){ printf("%d\n",4000*n1); }else if(t1==3){ printf("%d\n",3000*n1); }else if(t1==4){ printf("%d\n",2000*n1); } if(t2==1){ printf("%d\n",6000*n2); }else if(t2==2){ printf("%d\n",4000*n2); }else if(t2==3){ printf("%d\n",3000*n2); }else if(t2==4){ printf("%d\n",2000*n2); } if(t3==1){ printf("%d\n",6000*n3); }else if(t3==2){ printf("%d\n",4000*n3); }else if(t3==3){ printf("%d\n",3000*n3); }else if(t3==4){ printf("%d\n",2000*n3); } if(t4==1){ printf("%d\n",6000*n4); }else if(t4==2){ printf("%d\n",4000*n4); }else if(t4==3){ printf("%d\n",3000*n4); }else if(t4==4){ printf("%d\n",2000*n4); } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
Problem Set from Volume2 0277 : Ticket Sales