質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

1351閲覧

標準入力と標準出力を使った問題の回答方法

ayaka.n

総合スコア24

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2021/06/20 13:31

プログラミング初心者です。
コーディングテスト対策で問題を解く練習をしております。(Ruby)

問題
3人に6個のお菓子を分けます。
お菓子には「1, 2, 3, 4, 5, 6」の番号が付与されており、番号 i (i=1...6) のお菓子は C_i キロカロリーです。
また番号 i (i=1...6) のお菓子は A_i に割り当てられます。
与えられた情報からAliceに割り当てられたお菓子が合計何キロカロリーか求めてください。

回答

def cal_checker(list1, list2)
total_cal = 0
for i in 1..5 do
if list2[i] == 'Alice'
total_cal += list1[i]
end
return total_cal
end
end

c_list = [100,150,200,120,160,180]
n_list = ['Alice','Carol','Bob','Bob','Alice','Alice']

puts cal_checker(c_list, n_list)

質問
コードは書けたのですが、「入出力の確認をして下さい」とは何をすれば良いのでしょうか?
このようなコーディングテストで「標準入力と標準出力を使った問題」の回答方法を教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/06/20 13:47 編集

そもそも標準入力や標準出力と言うのが何かわかっている前提での質問でしょうか。 あと、コードやエラーはマークダウンのcode機能を利用してご提示ください。 https://teratail.com/questions/238564 それと、どこから出てきた問題なのでしょう。 出題者に聞く OR 解説がどこかにある かで確認可能なのでは?
guest

回答1

0

ベストアンサー

初心者向けに乱暴に説明すると
標準入力はgetsによる入力
標準出力はputsによる出力
です。

気をつけなければいけないのはgetsの入力では末尾に改行文字\nがくっつくことが問題になる事があるので
適宜chompが必要です。

かなり乱暴な上に実行時に引数がつくと話が変わってきたりしますが
概ねコーディングテストや競プロ等の場面においては問題ないでしょう。

これを踏まえ、提示されたコードを見ると
出力はputsを使っていますが、入力は埋め込まれた配列になっています。
c_listおよびn_listgetsから入力し想定しているデータ構造に変換を行う必要があります。


Rubyにおいて厳密には標準入力はSTDIN、標準出力はSTDOUTになります。
それぞれ、IOクラスのオブジェクトとなっており各種方法で入出力を行えます。

プログラミング全般においての標準入力・標準出力については
web検索を行えばいくらでも秀逸な解説があるので省略させていただきます。
wikipedia
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
など

投稿2021/06/21 01:39

asm

総合スコア15149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ayaka.n

2021/06/24 13:51

ご丁寧に解説いただきまして有り難うございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問