While loop???

7 ビュー (過去 30 日間)
Sean
Sean 2011 年 10 月 12 日
Write a script that generates a random integer number between 1 and 10 (you will need to use rand and round(...)functions. Prompt player to guess number. Using a while loop, continue prompting the user until the correct number is guessed. Output both the correct number and the number of guesses.
ask=input('Enter a number between 1 and 10:');
number=1+round(rand*(9));
total=0;
while ask~=number
if(number<1 || number>10);
disp('Invalid')
total=guess+1;
ask=input('Enter a number between 1 and 10:');
else
if(ask==number)
fprintf('% is correct',ask);
else
fprintf('%is incorrect',ask);
guess=input('Enter a number between 1 and 10:');
end
total=total+1;
end
end
fprintf('Your answer is correct %g',ask==number);
  1 件のコメント
Fangjun Jiang
Fangjun Jiang 2011 年 10 月 13 日
what is your question?

サインインしてコメントする。

採用された回答

bym
bym 2011 年 10 月 13 日
I didn't know where to start, so look at this. I tried to preserve your code as much as possible
[edit]
clc;clear
number=1+round(rand*(9));
guess = 0;
total=0;
while guess~=number
if(guess<1 || guess>10);
disp('Invalid')
% removed elseif case here based on Fangjun's comment
else
disp('incorrect, guess again');
end
total=total+1;
guess = input('Enter a number between 1 and 10:');
end
fprintf('You guessed the correct number %g in %g attempts\n',guess,total);
  5 件のコメント
Sean
Sean 2011 年 10 月 13 日
Thank you for your help. I really appreciate it.
Fangjun Jiang
Fangjun Jiang 2011 年 10 月 13 日
One more challenge, as of now, it always display 'Invalid' at the beginning. How to eliminate that message or any other invalid message?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by