为什么 var x 显示不正确?

Why var x display incorrectly?

    #include <iostream> // подключаем библиотеку ввода-вывода
    #include <cmath> // подключаем библиотеку математических функций

    using namespace std;

    int main()
    {
    float a, x, y = 0; // объявление переменных
    cout << "Enter a variable: ";
    cin >> a; // запрос на ввод a
    cout << "Enter x variable: ";
    cin >> x; // запрос на ввод x
    cout << "a = " << a << ", x = " << x; // вывод a и x
    y = (pow(x, 3) + sqrt(1 + pow(x, 3))) / (a + exp(x)); // формула расчета
    cout << y;
    }

Enter a variable: 6
Enter x variable: 7
a = 6, x = 70.327894

我不明白为什么 x == 70,而它必须是 7。我也不知道为什么 cout << y; 不起作用。如果我删除 y = ...cout << y,x 会正确显示。 我认为,这是我的错,因为我是 C++ 的新手,不太了解语法。

您只是将所有内容打印在同一行上,您可以:

在你的两个第一个结果之后打印它:

cout << "a = " << a << ", x = " << x; // вывод a и x
y = (pow(x, 3) + sqrt(1 + pow(x, 3))) / (a + exp(x)); // формула расчета
cout << ", y = " << y;

输出:

Enter a variable: 6
Enter x variable: 7
a = 6, x = 7, y = 0.327894

或在另一行打印y

cout << "a = " << a << ", x = " << x << "\n"; // returns to another line
y = (pow(x, 3) + sqrt(1 + pow(x, 3))) / (a + exp(x)); // формула расчета
cout << "y = " << y;

输出:

Enter a variable: 6
Enter x variable: 7
a = 6, x = 7
y = 0.327894

a = 6, x = 70.327894

这并不意味着 x =70.327894

x 是 7 结果 y 是 0.327894

您需要小心地打印到终端,使用 << endl; 并添加更多标签以便您可以轻松识别数学计算的输出...

底线:您的火箭公式运行良好,您需要再喝杯咖啡...:)