How can I solve this question?

1 次查看(过去 30 天)
Emma Swaggy
Emma Swaggy 2017-5-21
/Write a code that will calculate randomly a number between 1 and 10 (without displaying it) and will ask the user to guess it. If the user answers correctly, the program prints “Good” and add 1 to his score, if not, the program prints “sorry”, gives the correct answer, then selects another number. After 10 consecutive games, the programs stops and prints the final score.
Hint: use a random buitin function (rand).
your guess? 7
Sorry, answer was 5
your guess? 6
Sorry, answer was 0
your guess? 3
Sorry, answer was 1
your guess? 9
Sorry, answer was 0
..
your guess? 1
Sorry, answer was 5
your final score is 0
  4 个评论
Krishna Maity
Krishna Maity 2021-7-20
A particle travels across a at surface, moving due cast for 3 m, then due north for 9 m, and then returns to the origin. A force field acts on the particle, given by
F(x,y)=sin(²+²)+In(7+xy) j
Find the work done on the particle by F.
Please solve this using MATLAB.

请先登录,再进行评论。

回答(2 个)

Image Analyst
Image Analyst 2017-5-21
Hints:
  1. randi() to generate an integer.
  2. input() or inputdlg() to ask the user for a number.
  3. fprintf() or msgbox() to display a message.
  4. "while" to loop until the user gets the correct answer.
  4 个评论
Thomas Nguyen
Thomas Nguyen 2018-4-7
编辑:Image Analyst 2018-4-8
@ImageAnalyst: rand(r) returns a rxr matrix of random numbers from 0:1, not a random number from 1:10.
Although I guess you did tell her to finish it :w
Image Analyst
Image Analyst 2018-4-8
编辑:Image Analyst 2018-4-8
I had rand(1) in the code, but I should have put randi(10) like I said in the message. Thanks for the catch.

请先登录,再进行评论。


Thomas Nguyen
Thomas Nguyen 2018-4-7
Code:
function[] = guessingGame()
prompt_right=('Good job, you guessed correctly'); %msg display when player guessed right
count=0; %score
for i=1:10 %creating a loop to run the question 10 times
inp=input('Your guess? '); %taking player's guess
a=randi(5); %1st random factor for equation 'answer'
b=randi(5); %2nd random factor for equation 'answer'
answer=ceil((a+b)*rand); %equation to calculate a random number between 1 and 10
if inp==answer
disp(prompt_right);
count=count+1; %increase score by one if guessed correctly
else
prompt_wrong=['Sorry, the answer was ',num2str(answer)]; %msg display when player guessed wrong
disp(prompt_wrong);
end
end
prompt_final=['Congratz on finnishing the game! Your final score is: ',num2str(count)]; %msg display when the game is over
disp(prompt_final);
end%guessingGame()
Press F5 in your script editor or run guessingGame in the Command Window to run the code

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by