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

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

新規登録して質問してみよう
ただいま回答率
85.35%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

3回答

467閲覧

c言語がわかりません

YuhiKUROIWA

総合スコア9

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1グッド

0クリップ

投稿2020/05/21 03:24

前提・実現したいこと

整数値1個からなる複数の行が入力されたとき,その個数,総和,平均を出力するプログラムを作れ。
キーボードから入力するときは,最後に C-d(Control鍵を押しながらd鍵)を打鍵する。
平均は小数点以下3桁まで示せ。個数,総和,平均は,必要最小限の文字数で示せ。個数・総和・平均は,この順に空白1文字で区切りながら出力し,最後に改行を出力せよ。
ただし,入力が空であったときは
No data
と書かれた1行を出力せよ。
最初の一行が特にわかりません。教えていただけると助かります

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

c言語

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

bsjbbztqfuzj11👍を押しています

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

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

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

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

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

maisumakun

2020/05/21 03:28

自分で書いてみたコードを提示していただけないでしょうか?
YuhiKUROIWA

2020/05/21 03:39

#include <stdio.h> int main(void){ int data; int n=0; while(scanf("%d", data)==1){ n++; } printf("%d ", n); int s=0; s+=data; printf("%d ", s); int ave; ave=s/n; printf("%d", ave); printf("\n"); return 0; } 全くわかりませんがサイトなどを参考に書きました
ttyp03

2020/05/21 04:02

C言語といいつつタグがC++
dodox86

2020/05/21 04:35

> 全くわかりませんがサイトなどを参考に書きました 参考に書いた上で更にご自分で分からないのでは、さすがに無理なのでは。学校の課題でしょうか。
cateye

2020/05/21 11:42 編集

環境はUNIX系? あるいは、windows? ・・・それによって“C-d(Control鍵を押しながらd鍵)を打鍵”の意味が違ってくるのですが? まず、Cを勉強して下さい。・・・学校だったら、すでに習っているはず・・・ 推奨していない質問→https://teratail.com/help/avoid-asking
cateye

2020/05/21 11:52

dodoさんとダブっちゃいますが・・・ > 全くわかりませんがサイトなどを参考に書きました (参考にして書いた)自分のプログラムの説明をして下さい。
YuhiKUROIWA

2020/05/22 03:44

学校課題なんですが何の説明もなしでこれだけです
guest

回答3

0

「C言語 入門」でぐぐって、でてきた記事を一通り読み、学習しましょう。
その程度のコードならそれで組めるようになりますよ

投稿2020/05/21 03:28

y_waiwai

総合スコア88042

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

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

0

ヒント

for (個数 = 0; 数値を読み込めたら; 個数を 1増やす) 合計に数値を足しこむ if (個数が 0 なら) "No data" を出力 else 個数、合計、(double)合計/個数を出力

投稿2020/05/21 05:50

kazuma-s

総合スコア8224

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

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

YuhiKUROIWA

2020/05/22 03:43

ありがとうございます。やってみます。
guest

0

整数値1個からなる複数の行が入力されたとき,その個数,総和,平均を出力するプログラムを作れ。

標準入力から複数の行が入力されます。
その際、各行には整数値が一つ含まれるという意味です。
たとえばつぎのように入力されます。

1
3
2

この場合、個数は 3 個で、総和は 1 + 3 + 2 = 6 で平均は 6 / 3 = 2 です。

キーボードから入力するときは,最後に C-d(Control鍵を押しながらd鍵)を打鍵する。

標準入力の入力元がファイルでなくキーボードの場合、C-d を押すことで入力が終了します。これは自分が入力する場合、そのようにせよという意味です。

平均は小数点以下3桁まで示せ。個数,総和,平均は,必要最小限の文字数で示せ。個数・総和・平均は,この順に空白1文字で区切りながら出力し,最後に改行を出力せよ。

例えば個数が 3 総和が 10 平均が 3.33... であった場合は次のように出力します。

3 10 3.333

ただし,入力が空であったときは
No data
と書かれた1行を出力せよ。

入力が無かった場合には、個数、総和、平均の代わりに No data と出力します。

投稿2020/05/21 03:30

編集2020/05/21 11:51
Zuishin

総合スコア28669

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

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

YuhiKUROIWA

2020/05/21 03:40

返信ありがとうございます 大まかでいいのでコード教えていただけますか?
Zuishin

2020/05/21 03:48

どこまで自分でできますか? Hello World くらいは書けますか?
Zuishin

2020/05/21 03:55

標準入力からデータを取り出すのはどうですか?
Zuishin

2020/05/21 04:30

for や while や if はわかりますか?
cateye

2020/05/21 11:46

あらま^^・・・6 / 2 = 3→6 / 3 = 2
Zuishin

2020/05/21 11:50

ありがとうございます。間違ってますね。
YuhiKUROIWA

2020/05/22 03:43

forやwhile,ifはわかります
Zuishin

2020/05/22 03:59 編集

じゃあ順に作っていきましょうか。よほどの天才か、よほどその人にとって簡単なプログラムかでなければ、全部一度に作るのではなく、部品を作って部品の品質を確認しながら組み立てるパターンが一番うまくいきます。それも、出力から作れば結果が目に見えるのでわかりやすくなります。 まず、計算結果を固定しましょう。main 関数でローカル変数 count, sum, average を作り、それにそれぞれ 3, 10, 3.33333 を入れます。前二つは整数でいいので int 型、平均は小数なので double を使ってください。 それができたら、printf で求められる結果になるようそれを出力してください。3.33333 は 3.333 と表示しなければいけないので、「書式指定子」というものを調べて小数点以下 3 桁になるようにしてください。 それができたら、質問の編集ボタンを押して質問を編集し、「ステップ 1」と題してその全コードを追記してください。 その際には、今書かれている質問が消えるとついている回答の意味がわからなくなるので、そこは残したまま、その後ろに追記してください。 また、コードは以下を参照してマークダウンを使ってください。 https://teratail.com/help/question-tips#questionTips3-5-1
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問