математика — Как я могу перевести это алгебраическое выражение в C ++?

Мне нужно написать и выполнить программу на C ++, которая вычисляет значение выражения:

5x ^ 2 + 12y / 3x, где x = 12, а y = 9,8

Вот что у меня есть:

int num1 = 12; float num2 = 9.8; float totalResult;
totalResult = 5 * num1 * num2 + 12 * num2 / 3 * num1;

cout << totalResult;

Ответ 23.2667, но я получаю неправильный результат.

-3

Решение

Ваша проблема — порядок операций (и опечатка на num1 * num2).

Ваш правильный правильный ответ — 23.2667, что возможно только в том случае, если вы / как последняя операция. Чтобы разделение происходило последним, поместите левую и правую стороны в скобки:

totalResult = (5 * num1 * num1 + 12 * num2) / (3 * num1);

Таким образом, он выполняется в следующем порядке:

                 1      2      4    3       6    5
totalResult = (5 * num1 * num1 + 12 * num2) / (3 * num1);

В противном случае он выполнялся в следующем порядке:

                1      2      6    3      4   5
totalResult = 5 * num1 * num1 + 12 * num2 / 3 * num1;

Вот доказательство с помощью JavaScript:

var num1 = 12; var num2 = 9.8;
var totalResult = (5 * num1 * num1 + 12 * num2) / (3 * num1);
console.log(totalResult);
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector