前提・実現したいこと
c言語での問題なんですけど、どなたか分かる方模範解答お願いします。
満タンで50リットルのガソリンが入り、燃費はリッター8キロの車があり、
現在車にはXリットルのガゾリンが残っています。あなたは、次のいずれかの
方法で、ガソリンを満タンにしようと考えています。
・方法1
すぐ隣にあるガソリンスタンドA(リッター153円)で満タンにする。
・方法2
自宅からYキロ離れた場所にある激安ガソリンスタンドB(リッターZ円)まで出かけ、
満タンにして戻ってきて、帰り道に消費した分をガソリンスタンドAで補充して満タン
にする(たとえ1リットル未満でも)。
X,Y,Zを入力すると、どちらの方法がどれだけ得かを教えてくれるプログラムを書け。
よろしくお願いします。
#include <stdio.h> int main(void) { int x,y,z,pt1,pt2,a,b; printf("ガソリンの残量: x = "); scanf("%d", &x); printf("自宅からガソリンスタンドまでの距離: y = "); scanf("%d", &y); printf("ガソリンスタンドのリッター: z = "); scanf("%d", &z); pt1 = (50 - x) * 153; printf("方法1: %d円\n", pt1); pt2 = ( (50 - x) + y / 8 ) * z + ( (y / 8) * 153 ); printf("方法2: %d円\n", pt2); if (pt1 > pt2){ a = pt1 - pt2; printf("方法2が%d円得です。\n", a); } else { b = pt2 - pt1; printf("方法1が%d円得です。\n", b); } }
とてもきたないプログラムだとは思いますが、
このようにして試して見ました。修正点、改良点ありましたらよろしくお願いします。
質問ポリシーに沿って質問してください
質問する前に、わからないことを調べましょう
わからないことがあれば、まずは調べてその結果を試してみましょう。それでもわからなければ「自分で試したこと」として記載した上で質問しましょう。
どのような結果を想定されていて、試した結果どうなって、何が問題なのでしょうか?
具体的に記載ください
[質問するときのヒント]( https://teratail.com/help/question-tips )
質問するときはこちらを参照したうえで質問されるとよいでしょう
※丸投げというより問題が含まれてないですかね。。。
問題文に不備が多すぎて答えられません。
* X,Y,Zは整数なのか、少数もありなのか?
* ガソリンの端数計算はどうしているのか?0.1リットルでも1リットルの金額なのか、切り捨てなのか、そのまま0.1リットル翔だと15.3円になるが、16円なのか15円なのか。四捨五入?0.1以上切り上げ?全部切り捨て?
* リッター価格は税込みなのか?この問題は2019年10月1日以降はどうなるのか?
* ガソリンスタンドの計量器はどれぐらい正確に判断できるのか?例えば2.8723リットルの場合は計量器の限界で2.87となる、または、2.88となる、と言った所。
* Xが50より大きい場合はどうなるのか?
* Yが400より大きい場合はどうなるのか?
* Xが1リットル、Yが16キロの場合、Aで1リットル給油してから、Bに向かうのはありか?
回答3件
あなたの回答
tips
プレビュー