• ベストアンサー

勝率をプログラムに

この度もこのサイトでお世話になったのですが、 またプログラミングについて質問させていただきます。 「勝ち数・負け数を入力して、勝率を?割?分?厘という カタチで表示する」というプログラム(1厘以下は切り捨て) はどのように作れば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8522/19371)
回答No.4

#include <stdio.h> int main(void) { int ks,ms,ss; printf("勝ち数?"); scanf("%d",&ks); printf("負け数?"); scanf("%d",&ms); ss = ks + ms; printf("勝率%d割%d分%d厘\n",ks * 10 / ss,(ks * 100 / ss) % 10,(ks * 1000 / ss) % 10); return 0; }

komatulong
質問者

お礼

すいません。分かりました。 int型で勝ち数÷(勝ち数+負け数)をすると小数点以下が切り捨てで 0になってしまうので勝ち数に10をかけるのですね。(割の時) どうもプログラムの仕組みと計算を考えるのが 苦手なようです。

komatulong
質問者

補足

printf("勝率%d割%d分%d厘\n",ks * 10 / ss,(ks * 100 / ss) % 10,(ks * 1000 / ss) % 10); の部分の 『ks * 10 / ss』、 『(ks * 100 / ss) % 10』、 『(ks * 1000 / ss) % 10』は、なぜこのようになるのですか? 割合で頭がこんがらがって分からないです。

その他の回答 (3)

noname#77845
noname#77845
回答No.3

5勝5敗なら、勝率は5割丁度になりますよね? なので、 実数変数=勝ち数/(勝ち数+負け数); で、勝率が求められます。 この変数の中身の小数点第1位と第2位と第3位を求めれば、?割?分?厘が求められます。

komatulong
質問者

お礼

ありがとうございます。 よく考えたら分かりました。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

勝率を求める数式は分りますよね? それをプログラム化するだけですけど。難しい条件式もないし何が問題なんだか?ですね。 どちらにしても問題の丸投げは削除対処ですから、自分で作成した部分を示してください。

komatulong
質問者

補足

すみません。 今度からは、分からない部分を具体的にした上で 質問させていただこうと思います。

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

わからないところはどこですか?

komatulong
質問者

補足

a,bにそれぞれ勝ち数と負け数を (キーボードから)代入してcにa,bの合計を入れた後 どういう風に割・分・厘の計算をすればいいでしょうか? (割=1/10、分=1/100、厘=1/1000という基本的な事は もちろん分かるのですが)割合が苦手でうまくプログラムで表せません。 情けない…

関連するQ&A

  • 勝率の求め方を教えてください。(宿題じゃないです)

    3勝2敗1分の勝率を求めたいのですが (1)勝率=勝ち試合数÷(勝ち試合数+負け試合数) (2)勝率=勝ち数÷(勝ち試合数+負け試合数+分け試合数) どちらですか? 引き分けを計算するか、しないかの問題です。 勝率を求めるので、分=負と考えて良いのでしょうか。 それとも分はカウントしないで(1)でしょうか。 ご指導お願いします。

  • スプラの勝率が下がった

    最近、スプラで勝率が相当下がった気がします。 スプラは毎日やっていて少し前までは勝率はかなり高かったのですが、急にあり得ないくらい勝率が下がりました。(以前まで戦績で負けの数は勝ちの数より圧倒的に少なかったですが、最近は立場が逆転し、負けの数が勝ちの数より圧倒的に多くなっています。) いつも通りプレイしていて、勝率が下がる前後で何か変えてもないのに負け続ける理由が分かりません。 シンプルに負けているのか、それとも何か理由があるのでしょうか? 誰か理由が分かる方はいますか? 早めに答えていただけると幸いです。よろしくお願いします。

  • 勝率とプロフィットファクター

    下記の指標AとBではどちらの指標の方が収益が出せるのでしょうか? 指標A 平均損益 1337.5 回数 11 勝ち数 7 負け数 4 勝率 63.6% 最大勝ち 4719 最大負け -2609 総利益 16207 総損益 -2838 利益平均 2,315.3 損益平均 -709.5 損益レシオ 3.26 Profit Factor 5.71 ___________________________ 指標B 平均損益 1,114.1 回数 12 勝ち数 9 負け数 3 勝率 75.0% 最大勝ち 5220 最大負け -3439 総利益 17446 総損益 -4077 利益平均 1,938.4 損益平均 -1,359.0 損益レシオ 0.70 Profit Factor 1.43

  • エクセルで、「ここ10試合の勝率」の試合ごとの推移をグラフにする。

    セリーグ6球団のいわゆる「ここ10試合の勝率(ただし中止になった試合はカウントしない)」の推移がふと気になり、エクセルでグラフ化してみようと思い立ちました。 で、とりあえず、縦に日程、横に球団として星取表を作り、勝=10000、分=100、敗=1、試合中止(不成立も)=空欄とします。それでデータの入っているセルのデータを10個合計して、10000で割ったり、100で割ったりしながら勝数、分数、敗数を把握して「ここ10試合の勝率」を算出しようとしました。 ここで壁に突き当たってしまい、教えていただきたいのです。 空欄を含む表で、あるセルから上側の「データが入っているセル」10個分のデータの合計を出す巧妙な方法はないでしょうか? あるいは根本的に別の手段がありましたら、そちらも教えてください。

  • エクセルの件

    エクセルの初心者です。 パソコン教室の宿題で「勝率を計算する。」 計算式:勝率=勝数÷(勝数+負け数)をエクセルの表で表しなさいと出されました。野球チームで勝数10、負け数12、引き分け2として勝率=10÷(10+12)で計算すればいいのだと思いますが、エクセルの方法でどうやって操作するかわかりません。 どなたか教えて下さい。

  • 確率の質問です。ババ抜きの勝率

    「JOKER」「2」「2」「3」「3」の5枚のカードをつかって二人でババ抜きをするのですが 最初の状態で、手札が2枚の人と手札が3枚の人はどちらが勝率が高いのでしょうか? ・手札が2枚の人が先攻です。 手札が2枚の人が、ジョーカーを引く確率が4割でその時点で負け。 手札が2枚の人が、同じ数字のカードを2枚引く確率が2割でその時点で勝ち。 手札が2枚の人が、別の数字のカードを引く確率が4割で、その後のゲーム展開で勝負が決まる。 まではわかるのですがその先がわかりません。

  • バルサラの破産確率では

    損益比1:1で勝率6割りが破産確率7.4%、損益比2:1で勝率4割りが破産確率16.8%になっています。 私の単純な考えでは同じ破産確率になると思うのですが、なぜ違うのでしょうか? (ギャンブルで、6回勝ち6万円 4回負け-4万円と、6回負け-6万円 4回勝ち8万円は同じでは?) バルサラの破産確率表は検索して頂ければと思います。 よろしくお願いします。

  • 賭けるとしたらどっち?マーくんの勝ちor負け

    今日勝てば前人未踏のシーズン負けなしの勝率10割です 相手はオリックス! あなたの大事な貯金、全財産を賭けるとしたら、マーくんの勝ちにBETですか?それとも負けにBETですか? ちなみに楽天が勝ってもマーくんに勝ちがつかなければ掛け金は没収です さぁ、どっち!??

  • セ・リーグの順位について

    既に優勝は決まってますが、勝数1位と勝率1位が異なる場合、プレーオフとなるんでしたよね。これって、優勝(1位)にしか適用されないのでしょうか。 というのは、3位(Aクラス入り)が微妙なんですよね。 今朝時点で、横浜が69勝、勝率.507で3位(全日程終了)なんですけど、広島が68勝、勝率.515(1試合残)で率では広島が上なんですね。で、残り1試合で広島が勝てば、勝数は横浜とならび率が上回るので広島3位というのはいいとして、広島が引き分けまたは負け(.511)た場合、勝数は横浜、率では広島が上ということになります。やはり勝数優先で横浜3位ということになるのでしょうか。

  • EXCEL(日付ごとに結果の自動表示)

    下記【表1】のような表をEXCELで作成し、毎日その日の結果を入力しています。 この表とは別に下記【表2】のように、日付ごとの勝ち数と負け数のそれぞれの合計を、表1のデータを利用して自動的に表示したいと考えています。どのようにすれば可能か教えていただけませんでしょうか?関数を利用して表示できるのでしょうか? よろしくお願いします。 【表1】 日付   結果 6/1   勝ち 6/1   負け 6/1   勝ち 6/2   負け 6/3   負け 6/3   負け 6/3   勝ち 6/3   勝ち 【表2】 6/1  勝ち数 2  負け数 1 6/2  勝ち数 0  負け数 1 6/3  勝ち数 2  負け数 2    

専門家に質問してみよう