Поскольку это задача, которую вы должны выполнить, мы не должны предоставлять вам ответ на это задание.
Я предоставлю некоторые комментарии к вашему текущему псевдокоду.
n = 0 // number of games
o = 0 // total number of games scoring at least 90 points
Пока это хорошее начало, но лучше использовать имена переменных, которые на самом деле что-то говорят об этом (например, numGames
, numHighScoringGames
были бы хорошими кандидатами). Кроме того, присваивание просит «выяснить тип каждой переменной» . Это то, что вы еще не сделали ...
for( o = 0; o <= 90; o++ )
Этот цикл неправильный. После окончания цикла o
будет числом больше 90. Но o
должно быть определенным количеством игр (со счетом не менее 90). Это должно вызвать тревогу ... Вы еще не прочитали ни одного ввода и уже знаете, что таких игр будет более 90? Это неправильно.
Значение o
не должно иметь ничего общего с продолжением цикла или нет.
input =get user input for score
Опять тип данныхдля переменной input
.
n++
Это хорошо, но вы не учли эту часть задания:
Пользователь, вводящий отрицательное значение часового значения, указывает на конец ввода.
Ваш код должен проверить, вводил ли пользователь отрицательное значение часового. И если это так, вам не следует запрашивать дополнительные данные.
o += input
Предполагается, что переменная o
является числом игр, но теперь вы добавляете к ней счет. ... это не может быть правдой. Кроме того, вы добавляете его безоговорочно ... Если вы сначала не проверите, что эта игра "набирает не менее 90 очков" ?
percentage = n/o *100
Здесь вы используетеo
как и было задумано (как ряд игр). Но подумайте об этом ... какой из двух будет больше (если не равен)? n
или o
? Принимая во внимание этот ответ: верна ли ваша формула?
Во-вторых, может ли знаменатель быть равен нулю? Стоит ли защищать код от него?
output percentage
ОК, но не забывайте, что для назначения требуется три статистики, а не только одна.