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

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

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

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

Q&A

解決済

2回答

1919閲覧

C++で平均体重

退会済みユーザー

退会済みユーザー

総合スコア0

C++

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

0グッド

0クリップ

投稿2016/02/06 08:30

C++

1#include <iostream> 2using namespace std; 3int main() 4{ 5 int a, b, c; 6 cout <<"何センチから"; 7 cin>> a; 8 cout <<"何センチまで"; 9 cin >> b; 10 cout <<"何センチごと"; 11 cin >> c; 12 13 cout << "身長 標準体重\n"; 14 for (int s = (a-100)*0.9; a >= b; a += c) 15 cout << a << s; 16}

身長を入力して、平均体重を出すというプログラムを作っています。
平均は何センチごとに表示するかを決めて、何センチからの数から何センチごとを足して、何センチまでに達するまでループするというふうにfor文で書いたはずなんですが・・・

平均体重は 身長-100×0.9です。

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

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

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

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

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

guest

回答2

0

ご質問のコードの内容だと、

入力値が、

  • a >= b の場合 : 無限ループに陥ります。
  • a < b の場合 : 最初からループ条件から外れるのでループに入らず終了します。

for 文の記述を拝見すると何か誤解されているように思います。
for 文についていちど説明を読み直してはいかがでしょう?

投稿2016/02/06 09:07

kozuchi

総合スコア1193

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

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

0

ベストアンサー

こんにちは。

まず、「標準体重」の間違いですね。

次に、forループの回し方が間違ってます。
a~bの間をc間隔で回せば良いだけです。for (int i=a; i <=b; i+=c)ですね。
そして、各iに対する標準体重sを計算して、表示すればよいです。

投稿2016/02/06 09:03

Chironian

総合スコア23272

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

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

退会済みユーザー

退会済みユーザー

2016/02/06 09:11

int a, b, c; cout <<"何センチから"; cin>> a; cout <<"何センチまで"; cin >> b; cout <<"何センチごと"; cin >> c; cout << "身長 標準体重\n"; for (int i=a; i>b; i+=c) cout << a <<(i-100)*0.9; これでもダメです
Chironian

2016/02/06 09:28

それゃそうですね。aがb以下なら、最初からi>bはfalseなので一度も回りませんね。 もしかして焦ってます?
退会済みユーザー

退会済みユーザー

2016/02/06 09:32

i > bならループすると勘違いしてました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問