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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

2回答

933閲覧

C#:while文で何回割ると100以下になるか

okajun

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2018/09/24 09:48

編集2018/09/24 10:49

Visual Studio2017で、自分の力で書きました。問題は「while文を使って10000を2で何回割ると100以下になるかを調べるプログラムを作ってください。」です。文法通りですか?どこか改善した方がいいですか?アドバイスをください。

C#

1 static void Main(string args[]) 2 { 3 int num = 10000; 4 int time = 0; 5 6 while(num >= 100) 7 { 8 time++; 9 num = num / 2; 10 } 11 Console.WriteLine(time); 12 }

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/09/24 10:18

「コードをください・デバッグしてください等の丸投げの質問」は推奨されません。困ってることを書いてください
maisumakun

2018/09/24 11:27

文法が正しいかはコンパイラがいちばん良く知っています。その面については、投げれば結論は出ます。
退会済みユーザー

退会済みユーザー

2018/09/24 12:00 編集

前にあなたが立てたスレッドをきちんとクローズして下さい。きちんとクローズしないでスレッドを乱立するのは迷惑です。
len_souko

2018/09/24 22:25 編集

前回の添削依頼で指摘しても無視して繰り返していますので通報しておきました。サービスを利用する際にはそのサービスの目的に合わせた使い方をしてください。あなたの目的とサービスの方針が異なる場合は別のサービスを利用してください。
guest

回答2

0

文法通りですか?

意地の悪い返答をしてしまえば、「わかりません」ですね。

どこか改善した方がいいですか?

改善するなら、それは質問者さんのコードではなく質問者ご自身です。
今回のケースにおける改善できる点は、**「質問をしない」**ことです。

では、「どうすれば質問をしなくて済むか?」をお答え致します。
(先日お答えした別の方への回答と内容が被ってしまいますが…)

#####デバッグをする
質問者さんはVisual Studio 2017を使われているとのことなので
Visual Studioのデバッガーを使いましょう。

デバッガーとはデバッグを支援するツールです。
また、デバッグとは端的に言うと「バグを取り除く作業」のことです。

例を挙げると、
「ブレークポイント」を使うことでプログラムを一時停止することができる。
一時停止中は、変数やフィールドの中身を見ることができる。
ということが出来たりします。(他にも勿論あります)

なぜデバッグの使用を質問者さんに勧めたかというと、
書いたコードが「文法通りか」・「意図通りに動いているか」は、人に聞くべき内容ではないから
です。

結局、コードが文法通りかはコンパイラ次第
意図通りに動いているかはプログラム次第です。

コードは嘘をつきません。書いた通りに動きます。
なので、まずは実行して動作確認をしてみてください。
動くにしろ動かないにしろ、その結果が真実です。

話が長くなってしまい申し訳ないです。
改めて回答しますと、

文法通りですか?

コンパイルが通ることを確認してください。
通れば合ってます。

どこか改善した方がいいですか?

それを確認する手段の一つとしてデバッグが存在します。
まずはデバッグの使い方を覚えることで改善点があるかを判断してください。

例えば、今回でいう「num」や「time」がループの中で意図通りの値になっているか?を
しっかり自身の目で確認されると良いです。

#####Visual Studioにおけるデバッガーの使い方
Microsoftのドキュメントにて使い方が記載されているので、参考にしてみてください。

何か分からない点などあれば、お気軽に返信してください。

投稿2018/09/24 17:22

編集2018/09/25 00:33
BluOxy

総合スコア2663

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

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

0

これだと、100未満になったときの回数、になってますねー

投稿2018/09/24 09:51

y_waiwai

総合スコア87747

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

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

Koopa

2018/09/24 14:57

…直したみたいだね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問