
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
この事例の場合、do whileかwhileのどちらでもできます。
最初に条件判定するか最後に条件判定するかの違いです。最初から繰り返し条件が偽の場合のみ、動作が異なるものです。まず自転車のスピードを分単位に変換します。
自動車のスピードを分単位に変換します。
30分後の時間を定義し、0を代入します。
自転車の距離を定義し、「*30」で30分後の距離を代入します。
自動車の距離を定義し、25分後の距離を0とします。
do //繰り返しの始まり
30分後の時間++
自転車の距離+自転車のスピード(分単位)
自動車の距離+自動車のスピード(分単位)
while(自転車の距離<=自動車の距離)//追いつくまで
30分後の時間を表示
というような感じで作ればいいのではないでしょうか。
No.3
- 回答日時:
> 計算させて成功もしましたが、do whileもwhileも使わなかったのでどうなってるのかよくわからず質問させていただきました。
計算させて成功したの?だったらそれでイイんじゃない?
> do whileもwhileも使わなかった
別に使わなくても「答えが正しかった」のならエエんちゃうの?
っつーか、さっき書いた「計算と出力の違い」に絡むんだけど。
貴方がエクセル使ったり、とか。あるいはワード使ったり、とかして。
中で「do whileやwhileが使われてる」って気にした事ある?
誰もそんなの気にしないのよ。
結局、プログラムって誰も「中身がどう書かれてるか」なんつーのは気にしないのね。
大事なのは「入力した事」に対して「正しい出力」が得られるか否か。
それだけがみんな気にしてる事で、「どう計算されてるのか」なんて誰も気にしないんだ。
結果、どう書こうと貴方が
> 計算させて成功もしました
ならそれで良いのです。「do whileやwhileが」使われてようが使われてまいが、ユーザーには全く関係がない。
だから堂々としてれば良い。
もっとも。
> 計算は普通に数学的に計算させて
ハッキリ言うけど、プログラミング言語って「算数は出来る」けど「数学的に計算出来る」ようには作られていない。
平たく言うと方程式が解けるようには作られてないんだ。
だから、仮にこれが宿題だとして、貴方に教えてる先生が
> 計算は普通に数学的に計算させてその計算結果を実行結果に入れるようにすればいい
なんてことをのたまったとしたらその先生はとんだ大バカ者だ。
もう一回言うけど、プログラミング言語は「方程式を解くように」は作られていない。
結果「普通に数学的に計算」は出来ないの。
だから宿題だとしたら「んな事はC言語じゃ出来ません」ってのが答えになります。
No.2
- 回答日時:
この問題は本来連立方程式で解く問題だと思うのだけどwhile文を使って分毎に両者の位置を計算すると以下のようになると思います
尚、小数点の計算の誤差は考慮していません
#include <stdio.h>
int main(void) {
double bycKpm = 24 / 60.0; // 自転車の分速
double carKpm = 60 / 60.0; // 車の分速
double byc = 30 * bycKpm; // 車が走り出した時の自転車の位置
double car = 0;
int minutes = 0; // 経過時間
while (byc >= car) {
byc += bycKpm;
car += carKpm;
minutes++;
}
printf("%d\n", minutes); // 20
return 0;
}
No.1
- 回答日時:
うーん、マジでプログラミングの事が全く分かってないみたいね。
> この問題を実行結果の
> 私は 20 分後に追いつきます
>
> というようにしたいです。
実行と出力の差をまずは分かっていない。
そして重要な事は
「出力結果はプログラムの中身を規定しない」
んだ。
貴方はそこが全く分かってない。
繰り返すね。
出力例は決してプログラムの中身を決めない、んだ。
仮に貴方の要求を受け入れよう。
プログラムは次のようになる。
/* ここから */
#include <stdio.h>
#include <stdlib.h>
int main(void) {
puts("私は20分後に追いつきます");
return EXIT_SUCCESS;
}
/* ここまで */
これで終わりだ。ハッキリ言うけどdo whileもwhileも関係ないし、計算がそもそも必要ない。
だって貴方が言ってるのは単に「私は20分後に追いつきます」と出力してくれ、と言う仕様要求だからだ。計算をどうして欲しいのか、と言う話じゃないからな。
だからこういう問題投稿だと「私は徹頭徹尾プログラミングの事が分かっていません」って言ってる事とおんなじなんだよ・・・。
もっとも、貴方個人のせいじゃなくって、「C言語を教えてる側が」キチンと教えてないんだろう、ってのをここで山ほど見てきてはいるんだけどね・・・・・・。
この回答へのお礼
お礼日時:2021/10/09 15:36
ご回答ありがとうございます。
計算は普通に数学的に計算させてその計算結果を実行結果に入れるようにすればいいらしいです。
私は%d分後につきます
これの%dのところが20になれば成功です。
計算させて成功もしましたが、do whileもwhileも使わなかったのでどうなってるのかよくわからず質問させていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
matlabで計算終了
-
65536は2の何乗なのでしょうか?
-
あまりわかりません。 複素数$c...
-
アドオン利率を実質年率に変換
-
javascriptで何日何時間何分何...
-
Javaを使った行列計算
-
C言語初心者。静磁場の計算。台...
-
Fortran でのマイナス乗数の書き方
-
エクセルで特定のセルのみを任...
-
C言語についてです。 再帰を使...
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
変化させるセルが変化しない
-
円の最小二乗法のプログラム
-
ファイルの開き方
-
正しい五十音順について
-
Bluestacks内でダウンロードし...
-
CASLIIのプログラム(並び替え...
-
CPUが16bitでも32bitOSでコンパ...
-
socketでの複数NICの扱い
-
フローチャートの菱形が狭い。。。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAで関数をつくる
-
VBAの再計算が反映されない件に...
-
EXCELなどで「返す」という表現
-
matlabで計算終了
-
排他的論理和 BCC(水平パリテ...
-
変化させるセルが変化しない
-
引き放し法による除算アルゴリ...
-
モジュラス103の計算とは何でし...
-
C言語についてです。 再帰を使...
-
スレッド処理からダイアログを...
-
階乗のマクロ
-
Perlで時間の計算
-
エクセルで特定のセルのみを任...
-
傾いた四角形内の範囲の条件式
-
モジュロ
-
VBA入力フォームで労働時間の計...
-
三菱シーケンサー works2 の日...
-
Java 電卓の連続計算
-
パソコン
おすすめ情報
実行結果のところ
友達は、ではなく、私は、でした。